線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1837
推到 Plurk!
推到 Facebook!

如何動態連結dll中宣告為class內的變數?

尚未結案
gushay0701
一般會員


發表:1
回覆:0
積分:0
註冊:2007-02-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-02-09 00:01:01 IP:61.62.xxx.xxx 訂閱
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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-08 16:49:48 IP:220.130.xxx.xxx 訂閱
請參考以下連接,如何取得dll class 方法
http://dn.codegear.com/tw/article/20165
------
.......
系統時間:2024-04-20 21:23:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!