請問要如何使用才能使DLL即時回傳變數值? |
答題得分者是:dllee
|
franksyon
一般會員 發表:5 回覆:10 積分:3 註冊:2003-05-30 發送簡訊給我 |
請教各位大大
小弟我在DLL中寫了一個迴圈
extern "C" __declspec(dllexport) int __stdcall FPoint(int x);
int __stdcall FPoint(int x)
{
for(int i=0;i<100000;i ){
x =i;
}
return x;
} 當我Call DLL之後,經過上面的語法,會把x的結果回傳回來
extern "C" __declspec(dllimport) int __stdcall FPoint(int x);
void __stdcall FPoint(int x)
{
int y=20;
Label1->Caption=FPoint(y);
} 但是,他只會把x的結果.回傳回來...
如果我想在上例for迴圈裡面的 x =i;
即時的回傳道我的主表單上的Label1->Caption上
我該如何寫這個語法呢.搜尋Dll的相關文章,好像都沒看到..
還是又搞錯了...@@"
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
請您自行試試(可能需要修改)以下的 code:
//DLL extern "C" __declspec(dllexport) int __stdcall FPoint(int x); extern "C" __declspec(dllexport) int __stdcall FValueX(void); int iValueX; int __stdcall FPoint(int x) { iValueX=x; for(int i=0;i<100000;i ) { Application->ProcessMessages(); // 讓主表單可以更新 Label iValueX =i; } return iValueX; } int __stdcall FValueX(void) { return iValueX; } // 主表單程式 extern "C" __declspec(dllimport) int __stdcall FPoint(int x); extern "C" __declspec(dllimport) int __stdcall FValueX(void); // 作一個按鈕啟動, Timer 定時更新顯示數值 void __fastcall TForm1::Button1Click(TObject *Sender) { int y=20; FPoint(y); } void __fastcall TForm1::Timer1Timer(TObject *Sender) { Label1->Caption=FValueX(); }沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
franksyon
一般會員 發表:5 回覆:10 積分:3 註冊:2003-05-30 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
上述提供的方法是最簡單安全的使用方式。當然,您也可以直接將物件傳入 dll 內,在 dll 內直接改變它的內容,例如:
//DLL __declspec(dllexport) int __stdcall FPoint(TLabel *label,int x); int __stdcall FPoint(int x) { int iValueX=x; for(int i=0;i<100000;i ) { Application->ProcessMessages(); // 讓主表單可以更新 Label iValueX =i; label->Caption=iValueX; } return iValueX; } // 主表單程式 __declspec(dllimport) int __stdcall FPoint(TLabel *label,int x); // 作一個按鈕啟動, Timer 定時更新顯示數值 void __fastcall TForm1::Button1Click(TObject *Sender) { int y=20; FPoint(Label1,y); }沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |