請問如何避免Dll 內 String 轉 PChar會產生異常結果 |
尚未結案
|
cmc0329
一般會員 發表:1 回覆:1 積分:0 註冊:2002-12-19 發送簡訊給我 |
目前遇到一些問題,煩請各位先進解答,謝謝
====
Dll
..
Function SendSetupData(HostIP: PChar; SPort: Integer; SendStr: PChar): PChar; stdcall; 透過IdTCPClient取得遠方字串,再轉型PChar(str),回傳給呼叫Dll的AP
===
AP
Function SendSetupData(HostIP: PChar; Port: Integer; SendStr: PChar): PChar; stdcall; external 'TestProgram.dll'; ===
問題:
在上列宣告中,Dll回傳的資料"不一定"正確,有時會多傳一個Char,
相同的輸入就會一直是錯誤的回傳。不同的輸入就不一定會產生錯誤。 目前先將str後補四個Chr(0),結果則會是正確的。
但是這樣的方式,不太合乎常理,所以請問各位先進有否其他解法,謝謝!
------
阿正 |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
liorex
初階會員 發表:19 回覆:60 積分:32 註冊:2002-08-20 發送簡訊給我 |
|
cmc0329
一般會員 發表:1 回覆:1 積分:0 註冊:2002-12-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |