AP傳PChar給DLL函式,接收內容不正確,怎麼辦? |
答題得分者是:william
|
AJ
一般會員 發表:9 回覆:19 積分:20 註冊:2003-06-27 發送簡訊給我 |
如標題,我不知道問題出在哪裡,在DLL中DEBUG時,接收到的
內容都不對,實在是很頭痛,因為一定要用PChar指標,所以不
得不解決這個問題,請大大們指導一下,我列出程式碼如下:
=====AP:===== ... type Ttest = function(pdata: PChar): integer; ... var h : THandle; ptest : Ttest; ... implementation procedure TmainForm.Button1Click(Sender: TObject); var return_code:integer; begin h:=loadlibrary(PCHAR('testdll.dll')); //load dll file if h=0 then begin shoeMessage('DLL檔無法載入'); exit; end else begin @ptest := GetProcAddress(h, pchar('test')); if @ptest = nil then begin shoeMessage('無法呼叫DLL函式'); exit; end else begin return_code:= ptest(pchar('RECORD')); end; end; ... ... end; =====testdll.DLL:===== ... function test(pdata: PChar): Integer; stdcall; ... implementation ... function test(pdata: PChar): Integer; var data:string; begin data:=strpas(pdata); if (data='RECORD') then begin ... result:=1; end else result:=-1; end; |
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
AJ
一般會員 發表:9 回覆:19 積分:20 註冊:2003-06-27 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |