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

請問載入DLL後執行錯誤

尚未結案
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-29 17:10:01 IP:61.218.xxx.xxx 未訂閱
我的程式如下 .h檔 /* C_Initialize initializes the Cryptoki library. */ CK_PKCS11_FUNCTION_INFO(C_Initialize) #ifdef CK_NEED_ARG_LIST ( CK_VOID_PTR pInitArgs /* if this is not NULL_PTR, it gets * cast to CK_C_INITIALIZE_ARGS_PTR * and dereferenced */ ); #endif void __fastcall TForm1::Button2Click(TObject *Sender) { CK_C_Initialize getNumber; int number=0; HINSTANCE dll=LoadLibrary("CHTPKCS11.dll"); if(dll!=NULL) { getNumber=(CK_C_Initialize)GetProcAddress(dll,"C_Initialize"); if(getNumber!=NULL) { number=getNumber(0); ShowMessage(IntToStr(number)); } else { ShowMessage("Error GetProcAddress"); } FreeLibrary(dll); } else { ShowMessage("Error LoadLibrary"); } } 執行number=getNumber(0);會出現,以下之錯誤訊息 Access violation at address 10001C2D in module 'CHTPKCSS11.dll',Read of address 00000...之錯誤 請問是何原因 謝謝
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-31 15:39:35 IP:211.76.xxx.xxx 未訂閱
shing.net你好: 依錯誤的訊息來看,出問題的地方指明了是'CHTPKCSS11.dll'。很有可能是getNumber函式中產生的bug。原因應該是在getNumber中,對了一個未初始化指標做了提取的動作。 建議可以檢查'CHTPKCSS11.dll'中getNumber的程式碼,是否所有的指標都有合法性的檢查?是否指標指向的物件都是存在的?會不會在物件被釋放後還去讀取?
系統時間:2024-06-26 22:31:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!