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

請問D7調用C的dll問題

缺席
tochun
一般會員


發表:1
回覆:1
積分:0
註冊:2009-05-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-05-06 15:43:46 IP:59.125.xxx.xxx 訂閱
請大家幫我看個問題
C的宣告
extern "C" BOOL PASCAL ReadBarCodeData (char* lpBuf, int iSize);
D7的宣告
function ReadBarCodeData(var lpBuf: pchar ; iSize: integer) : boolean; stdcall; external 'FXLib.dll';
程式
procedure TForm1.Button3Click(Sender: TObject);
var
p: pchar;
s: string;
i: integer;
begin
p := StrAlloc(64 * SizeOf(char));
i := 1024;
ReadBarCodeData(p, i);
s := String(p); ←出現錯誤
Edit1.Text := s;
end;
我想透過p這個指標取得C寫在此位置的資料(字串),謝謝
tochun
一般會員


發表:1
回覆:1
積分:0
註冊:2009-05-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-05-06 17:28:16 IP:59.125.xxx.xxx 訂閱
可以讀了,解決方式如下,給大家參考
var
s: string;
i: integer;
begin
SetLength(s,256);
i := 256;
SetLength(s,StrLen(PChar(s)));
Edit1.Text := s;
end;
系統時間:2024-05-17 4:25:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!