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

關於DLL的問題

答題得分者是:likush
singend
一般會員


發表:3
回覆:8
積分:2
註冊:2003-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-21 21:02:17 IP:203.70.xxx.xxx 未訂閱
想請教一下各位先進 我初次寫dll檔,不知是不是什麼沒注意到 我用Delphi寫了一個dll及Exe,用exe 檔去呼叫該.dll 檔 在我電腦執行LoadLibrary、GetProcAddress時都很正常,都有取到值 但是換到別台電腦會發生LoadLibrary正常,但是在GetProcAddress取回來時會產生Nil 後來我將原dll的source重新compiler後,但是仍是捉不到, 後來我將GetProcAddress的dll 的 method改了個名字在GetProcAddress就捉到了 比如說:在dll 中該method 是 叫LOGIN 將它改成LOGIN1 但若改回原名稱(LOGIN)就又不行 想請教各位先進,這是為什麼會這樣 我確定大小寫都相同,與EXE檔同一目錄下也無重複的dll 運作的環境都是在Win 2000 Server , Delphi 7
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-21 21:10:37 IP:61.222.xxx.xxx 未訂閱
我沒遇到過這樣的事情。 會不會程式中有盲點 例如: with XXXX do begin end; 剛好LOGIN 是他的函數所以衝突了呢!
singend
一般會員


發表:3
回覆:8
積分:2
註冊:2003-07-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-21 21:27:37 IP:203.70.xxx.xxx 未訂閱
嗯~~我查過 並沒有有衝突到的相同名稱~~ 而且在dll檔案中 不只那個method,但是只有在呼叫那個LOGIN的Method才會出現這種問題
babyfish0226
一般會員


發表:9
回覆:82
積分:23
註冊:2002-06-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-25 17:13:18 IP:221.169.xxx.xxx 未訂閱
您原來使用的名稱是什麼呢? 如果改名就可以的話... 我猜....應該是您使用了『保留字』的關係。
likush
高階會員


發表:5
回覆:235
積分:103
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-26 10:01:25 IP:220.134.xxx.xxx 未訂閱
個人建議,有錯請指正 你在取PROCEDURE或FUNCTION名稱時儘量取個人化之名稱,如LOGIN改取LOGIN_DATAS....等,以避免有與別的DLL檔的函數名稱相同之情況產生. ========================= 讀萬卷書~不如來K.TOP走一遭 =========================
系統時間:2024-05-14 8:13:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!