如何動態連結dll中宣告為class內的變數? |
尚未結案
|
gushay0701
一般會員 發表:1 回覆:0 積分:0 註冊:2007-02-06 發送簡訊給我 |
or.h部份程式如下
=========================== #ifdef OR_EXPORTS #define OR_API __declspec(dllexport) #else #define OR_API __declspec(dllimport) #endif class OR_API COR{ public: COR(void); bool Initialize(char* FileName); private: int QueueCount; } test.cpp部份程式如下 ======================= #include "or.h" typedef __stdcall bool (*INITIAL)(char*); void __fastcall TForm1::Button1Click(TObject *Sender) { HINSTANCE hInst=LoadLibrary("OR.dll"); INITIAL initial=(INITIAL)GetProcAddress(dll, "_Initialize"); bool temp; temp = initial("C:\\aa.txt"); if(temp) ShowMessage("ok"); else ShowMessage("error"); FreeLibrary(hInst); } =========================================== 請教各位大大,請教ㄧ下 complie會錯在 temp = initial("C:\\aa.txt"); 這一行,而且是記億體錯誤= = 看了幾位前輩的文章 不知道是我看的不夠多還是漏掉了 我並不是很了解如何動態連結宣告在h檔裡的class 我自行判斷可能這行INITIAL initial=(INITIAL)GetProcAddress(dll, "_Initialize"); 就有錯了但不知道錯在哪 請各位大哥指教如何動態連結class的宣告 或者是其他地方的問題,麻煩各位了!
------
小猴 |
cat200188
中階會員 發表:37 回覆:78 積分:68 註冊:2005-01-18 發送簡訊給我 |
請參考以下連接,如何取得dll class 方法
http://dn.codegear.com/tw/article/20165
------
....... |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |