請問各位前輩, 怎樣在 Delphi 使用Winio.dll 呢? |
尚未結案
|
raphael_hodee
一般會員 發表:11 回覆:14 積分:5 註冊:2004-01-15 發送簡訊給我 |
|
geniustom
版主 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
假如我用C寫了一個SendSMSToModem的FUNCTION..並且編譯成Geniustom_Hid.dll
那我在DELPHI的INTERFACE區要這樣宣告..
function SendSMSToModem(pin:String;comport:Integer;rate:Integer;tel:String;sms:String):boolean;stdcall;far;external 'Geniustom_Hid.dll';
宣告之後..就可以使用了..不過要注意的是..
DELPHI的INTEGER相當於C的LONG
C的INTEGER相當於DELPHI的SHORTINT..等等資料型態所占位元數的問題..
這樣應該就OK了...GOOD LUCK
|
geniustom
版主 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
|
raphael_hodee
一般會員 發表:11 回覆:14 積分:5 註冊:2004-01-15 發送簡訊給我 |
|
geniustom
版主 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
他的HANDLE應該是指向一個結構所在的記憶體位址..
只要是記憶體位址..資料型態就是LONG..在DELPHI就要宣告成INTEGER
還要注意是傳值或是傳址..只要您的C++的參數是傳址..在DELPHI就要宣告成
INTEGER..
假設您在C++有個結構..在記憶體中是這樣的
--------------------------------------------------------- | byte | integer | long | --------------------------------------------------------- 在DELPHI要宣告為 --------------------------------------------------------- | byte | shotrint | integer | --------------------------------------------------------- 如果在C 中..這個結構是傳址的方式.. 那就是您要宣告個跟C 一樣型態的結構.. 假如這個結構的名稱叫A.. 函數叫 TEST(input:integer); 那就是 TEST(A^); 這樣就可以把那個結構的位址傳進去了..GOOD LUCK |
aven026
一般會員 發表:1 回覆:2 積分:0 註冊:2005-11-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |