如何使用 C++ 寫的Dll? |
尚未結案
|
rookie
一般會員 發表:26 回覆:38 積分:12 註冊:2003-04-23 發送簡訊給我 |
請問各位:
在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 發送簡訊給我 |
|
rookie
一般會員 發表:26 回覆:38 積分:12 註冊:2003-04-23 發送簡訊給我 |
|
danken
一般會員 發表:0 回覆:1 積分:0 註冊:2002-07-15 發送簡訊給我 |
/*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)
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |