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

如何使用 C++ 寫的Dll?

尚未結案
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-02 10:31:54 IP:61.220.xxx.xxx 未訂閱
請問各位: 在C++的宣告是------------------------------------------- typedef HDEVICE_CONTEXT (*lpEstablishContext)( int Com ); GsM DLL 的解說---------------------------------------------- HINSTANCE hLibrary = LoadLibrary("GsM.dll"); lpEstablishContext EstablishContext = (lpEstablishContext) GetProcAddress(hLibrary, "@EstablishContext$qi"); 我在delphi 裡的宣告------------------------------------- {$R *.dfm}   function lpConnect(HDEVICE_CONTEXT :longint):boolean;stdcall;external 'GsM.DLL' name 'lpConnect';   function lpEstablishContext(Com :integer):Longint;stdcall;external 'GsM.DLL' name 'pEstablishContext'; 我在delphi 裡的呼叫---------------------------- procedure TForm4.FormActivate(Sender: TObject); begin try lpEstablishContext(1); ShowMessage('ok'); except ShowMessage('error'); ------------------------------------------------- 可是都有error '無法找到程式輸入點' 請教教我謝謝.....     發表人 - rookie 於 2003/06/02 13:37:38
shaofu
高階會員


發表:5
回覆:136
積分:103
註冊:2003-01-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-03 13:23:14 IP:210.243.xxx.xxx 未訂閱
看來是打錯字了 @@ @EstablishContext$qi 與 pEstablishContext 不一樣啊 :P 名字不確定的話, 可以用 Borland 附的 tdump 來看, Ex: tdump -ee gsm.dll
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-05 11:20:35 IP:61.220.xxx.xxx 未訂閱
謝謝指導! 原來打錯字了 在次感謝..        
danken
一般會員


發表:0
回覆:1
積分:0
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-02 18:09:21 IP:61.64.xxx.xxx 未訂閱
/*delphi呼叫c 所撰寫的 dll檔的問題*/ /*在 ECL001.h中有如下宣告*/ #ifdef __BUILDING_ECLDLL #define ECL_TYPE(x) extern "C" x __declspec(dllexport) __fastcall #else #define ECL_TYPE(x) x __declspec(dllimport) __fastcall #endif ECL_TYPE(bool) AP_ShmOpen(const AnsiString ObjName); ECL_TYPE(AnsiString) AP_ShmRead(); ECL_TYPE(void) AP_ShmWrite(AnsiString text); ECL_TYPE(void) AP_ShmClose(); /*在delphi宣告如下*/ function AP_ShmOpen(ObjName : pchar): bool ; stdcall; far; external 'ECLTSTDLL.dll'; implementation /*使用方式如下*/ AP_ShmOpen('EuShmSample'); 就會出現錯誤訊息 "無法找到程序輸入點AP_ShmOpen(在動態連結程式庫ECLTSTDLL.dll)
系統時間:2024-05-10 19:49:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!