全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1134
推到 Plurk!
推到 Facebook!

delphi 里怎样传递指针呀?help

尚未結案
gqlv
一般會員


發表:18
回覆:10
積分:5
註冊:2003-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-01 17:23:40 IP:218.104.xxx.xxx 未訂閱
void sound_encode(short *data,unsigned char *out_byte,int longth,struct g72x_state state1) 这是dll里的函数原形,在delphi里怎样传递参数? 目的是串一段数据解压 我是这样做的,但不行呀 procedure sound_decode(var in_byte:char; var out_data:word;longth:integer;state1:g72x_state); stdcall; external 'sound.DLL'; var g726_state:P_g72x_state; decode_buff_in:^char; //unsigned char* decode_buff_out:^word; //short* begin getmem(decode_buff_in,6000); getmem(decode_buff_out,32000); // TempStream.Read(decode_buff_in[0],6000); sound_decode(decode_buff_in^,decode_buff_out^,6000,g726_state^); end;
fangwy
中階會員


發表:99
回覆:139
積分:62
註冊:2003-09-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-11 09:12:43 IP:218.5.xxx.xxx 未訂閱
使用PChar,PInteger,PULONG等指针型变量作函数参数 如: function BcdStrToAscStr(vStr:array of char; P:PChar; vLen:integer):Boolean; 这是一个将BCD码转成ASC码的函数,vStr是待转换的BCD码,P:是保存转换结果的指针变量. 调用如下: BcdStrToAscStr(daBCD,PChar(dsASC)); daBCD:是Char型数组,dsASC是string型 参见:Delphi的Windows.pas对不用类型指针的定义
fangwy
中階會員


發表:99
回覆:139
積分:62
註冊:2003-09-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-11 09:47:08 IP:218.5.xxx.xxx 未訂閱
对不起,刚才只看标题弄错了意思:下面提供一个例子说明: unsigned char TD_SearchDayReportFromDate(char *pcSearchDate, char *pcDayReportInfo)//用VC编的DLL函数原形 DELPHI如下声明声明: function TD_SearchDayReportFromDate(pcSearchDate, pcDayReportInfo :pchar):byte;stdcall;external 'Taxstand.dll' name 'TD_SearchDayReportFromDate'; 可以试试这样做:
系統時間:2024-05-20 10:07:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!