BCB5所建立之DLL該如何可以REGSVR32註冊 |
尚未結案
|
chag_hermes
一般會員 發表:3 回覆:3 積分:1 註冊:2002-11-27 發送簡訊給我 |
向各位請教一項問題或者提供一下觀念
最近在學習將function建立成test.dll之後
想要執行regsvr32 test.dll卻發生了
LoadLibrary("......")faild - 找不到指定模組的錯誤訊息 建立過程:
1.我本身是利用BCB5裡面
File->New->DLL Wizard
選擇了C 與VC Style選項建立了一個測試的DLL專案
2.然後將所要使用的函式掛入專案,並依照方法在各函式之間加入 __stdcall
3.Build all之後會產生test.lib與test.dll檔案
4.想要執行regsvr32 test.dll卻發生LoadLibrary("......")faild - 找不到指定模組的錯誤訊息 問題:
1.建立成DLL是否有很多種形式與該如何去深入探討學習??
2.想要regsvr32 dll檔案有何要注意的地方??
3.或者BCB必需由建立ActiveX Library的方式才能夠regsvr32 test.dll 這是我本身對於學習DLL上目前的了解
希望能與大家交流^_^ chag_hermes
------
chag_hermes |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 向各位請教一項問題或者提供一下觀念 最近在學習將function建立成test.dll之後 想要執行regsvr32 test.dll卻發生了 LoadLibrary("......")faild - 找不到指定模組的錯誤訊息 建立過程: 1.我本身是利用BCB5裡面 File->New->DLL Wizard 選擇了C 與VC Style選項建立了一個測試的DLL專案 2.然後將所要使用的函式掛入專案,並依照方法在各函式之間加入 __stdcall 3.Build all之後會產生test.lib與test.dll檔案 4.想要執行regsvr32 test.dll卻發生LoadLibrary("......")faild - 找不到指定模組的錯誤訊息 問題: 1.建立成DLL是否有很多種形式與該如何去深入探討學習?? 2.想要regsvr32 dll檔案有何要注意的地方?? 3.或者BCB必需由建立ActiveX Library的方式才能夠regsvr32 test.dll 這是我本身對於學習DLL上目前的了解 希望能與大家交流^_^ chag_hermes chag_hermes 你好: (1)DLL 有兩種,第一種是 Win32 Dynamic Link Library,也就是你利用 DLL Wizard 建立的 Project,這一種是不需要註冊就可以使用的 (regsvr32); 第二種是 ActiveX DLL,在 BCB 裡面有很多種建立的方式,這種則需要註冊 才能夠使用 (2)先試試看能不能夠 call 你所寫 DLL 中的 function 再說吧 (> --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
chag_hermes
一般會員 發表:3 回覆:3 積分:1 註冊:2002-11-27 發送簡訊給我 |
感謝版主修正我的觀念:
1.DLL並非一定要regsvr32註冊才可使用
2.在呼叫我所測試的函式也沒有問題 但尚存疑問:
之前在各版之間看過很多DLL文章,有很多皆可以互相引用
例如Delphi所使用的DLL可以經由regsvr32註冊的方式由BCB引用
而我目前所學會使用精靈建立DLL方式是一個好的方法嗎
是否可以共用於其他語言
例如C#,VC
在這一方面有需要注意的地方嗎?
或者BCB所建立的DLL只能由BCB自己所使用呢?
chag_hermes
------
chag_hermes |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 感謝版主修正我的觀念: 1.DLL並非一定要regsvr32註冊才可使用 2.在呼叫我所測試的函式也沒有問題 但尚存疑問: 之前在各版之間看過很多DLL文章,有很多皆可以互相引用 例如Delphi所使用的DLL可以經由regsvr32註冊的方式由BCB引用 而我目前所學會使用精靈建立DLL方式是一個好的方法嗎 是否可以共用於其他語言 例如C#,VC 在這一方面有需要注意的地方嗎? 或者BCB所建立的DLL只能由BCB自己所使用呢? chag_hermeschag_hermes 你好: 只是是標準的 Win32 Dynamic Link Library 就可以被 VC/BCB/VB/Delphi 引用 的 (C# 小弟我不清楚,沒有用過),不管原始的開發工具是哪一個,不過...有 一點要特別注意,那就是 DLL 每一個 function 中的傳回值及參數,都不可以 使用該開發工具特有的型態,例如: 如果開發工具是 MFC 的話,那就不能在參 數裡面使用 MFC 中的特殊型態,不然,就不能給其他的開發工具引用了;舉一 個更明確的例子吧,例如: 假設你用 BCB 寫了一個 DLL,其中有一個 export 的 function,void aaa(AnsiString sz); 這樣子就無法給 VC/VB 使用了,最 好改成 void aaa(char *sz); 或 void aaa(LPSTR sz); 使用大家都看得懂的型 態,才有辦法互相引用的。你目前使用 > --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |