GetProcAddress的錯誤 |
答題得分者是:RaynorPao
|
JessicaChang888
一般會員 發表:12 回覆:15 積分:5 註冊:2002-11-22 發送簡訊給我 |
各位大大,我用BCB寫了一個DLL,程式碼如下:
//Unit1.h extern "C" { __declspec(dllexport) int getNumber(); } //Unit1.cpp int getNumber() { return 12345; }然後我又用BCB寫了一個EXE來測試這個DLL,程式碼如下: typedef int (*GETNUMBER)(void); void __fastcall TForm1::Button1Click(TObject *Sender) { HINSTANCE dll; GETNUMBER getNumber; int number=0; dll=LoadLibrary("BcbDll.dll"); if(dll!=NULL) { getNumber=(GETNUMBER)GetProcAddress(dll, "getNumber"); if(getNumber!=NULL) { number=getNumber(); ShowMessage(IntToStr(number)); } else { ShowMessage("Error GetProcAddress"); } FreeLibrary(dll); } else { ShowMessage("Error LoadLibrary"); } }在GetProcAddress那一行會發生錯誤,請大家幫幫忙,已經卡在這裡很久了 |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 各位大大,我用BCB寫了一個DLL,程式碼如下://Unit1.h extern "C" { __declspec(dllexport) int getNumber(); } //Unit1.cpp int getNumber() { return 12345; }然後我又用BCB寫了一個EXE來測試這個DLL,程式碼如下:typedef int (*GETNUMBER)(void); void __fastcall TForm1::Button1Click(TObject *Sender) { HINSTANCE dll; GETNUMBER getNumber; int number=0; dll=LoadLibrary("BcbDll.dll"); if(dll!=NULL) { getNumber=(GETNUMBER)GetProcAddress(dll, "getNumber"); if(getNumber!=NULL) { number=getNumber(); ShowMessage(IntToStr(number)); } else { ShowMessage("Error GetProcAddress"); } FreeLibrary(dll); } else { ShowMessage("Error LoadLibrary"); } }在GetProcAddress那一行會發生錯誤,請大家幫幫忙,已經卡在這裡很久了 >>< face="Verdana, Arial, Helvetica">JessicaChang888 你好: 你的問題,可以有兩種改法(兩者擇一,參考看看) (> --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
JessicaChang888
一般會員 發表:12 回覆:15 積分:5 註冊:2002-11-22 發送簡訊給我 |
|
hornacek
一般會員 發表:29 回覆:76 積分:21 註冊:2004-02-02 發送簡訊給我 |
引言://Unit1.h extern "C" { __declspec(dllexport) int getNumber(); } //Unit1.cpp int getNumber() { return 12345; }然後我又用BCB寫了一個EXE來測試這個DLL,程式碼如下:typedef int (*GETNUMBER)(void); void __fastcall TForm1::Button1Click(TObject *Sender) { HINSTANCE dll; GETNUMBER getNumber; int number=0; dll=LoadLibrary("BcbDll.dll"); if(dll!=NULL) { getNumber=(GETNUMBER)GetProcAddress(dll, "getNumber"); if(getNumber!=NULL) { number=getNumber(); ShowMessage(IntToStr(number)); } else { ShowMessage("Error GetProcAddress"); } FreeLibrary(dll); } else { ShowMessage("Error LoadLibrary"); } }在GetProcAddress那一行會發生錯誤,請大家幫幫忙,已經卡在這裡很久了 >>< face="Verdana, Arial, Helvetica">JessicaChang888 你好: 你的問題,可以有兩種改法(兩者擇一,參考看看) (>>> 這是我試過的結果,不知道正不正確... |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |