全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1064
推到 Plurk!
推到 Facebook!

DELPHI7 調用DLL中的函數問題

答題得分者是:yorkland
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-06 14:53:03 IP:222.35.xxx.xxx 未訂閱
VAR R : THANDLE; H : INTEGER; BEGIN R := Loadlibrary( 'DRYUSBR.dll'); IF R > 0 THEN BEGIN @AC_Open:= getprocaddress(R,'AC_Open'); H := AC_Open(255, AC_USB); ... END; ... END; 用DELPHI7編譯後運行時在 H := AC_Open(255, AC_USB); 經常失敗。而用DELPHI5編譯後沒有問題。我是用的WINDOWS2000系統。請問這是什麽原因。謝謝指教。
yorkland
高階會員


發表:2
回覆:138
積分:108
註冊:2004-12-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-06 15:59:34 IP:203.70.xxx.xxx 未訂閱
看起來問題似乎不在於Delphi的版本問題。 得請你把AC_OPEN的宣告方式POST上來, 因為DLL的Export Function中有帶參數, 得檢查是不是有stdcall的問題。 還有你傳入的AC_USB如果不是基礎型別, DLL與AP之間, 必須用同一版本的Delphi Compiler。
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-08 09:07:21 IP:222.35.xxx.xxx 未訂閱
引言: 看起來問題似乎不在於Delphi的版本問題。 得請你把AC_OPEN的宣告方式POST上來, 因為DLL的Export Function中有帶參數, 得檢查是不是有stdcall的問題。 還有你傳入的AC_USB如果不是基礎型別, DLL與AP之間, 必須用同一版本的Delphi Compiler。
是AC_USB的驅動問題,重新安裝新的驅動就沒問題。
系統時間:2024-05-01 12:57:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!