請問一下, 如何把.dll包入.exe中 ? |
答題得分者是:carstyc
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
請問一下, 如何把.dll包入.exe中 小弟想將某些 SSL 相關程式要用到的 ssleay32.dll libeay32.dll 包入 .exe 中 謝謝 ^_^ 我的經驗分享--將dll包裝在單一執行檔並且可以自動對os註冊dll http://delphi.ktop.com.tw/board.php?cid=30&fid=72&tid=38012 這篇小弟不知道如何建立 rc 檔案 ? Delphi 有提供工具 ?
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
前輩您好:
請參考 http://delphi.ktop.com.tw/board.php?cid=168&fid=923&tid=27605 RC file可由VC產生出來 ===================引 用 pcboy 文 章=================== 請問一下, 如何把.dll包入.exe中 小弟想將某些 SSL 相關程式要用到的 ssleay32.dll libeay32.dll 包入 .exe 中 謝謝 ^_^ 我的經驗分享--將dll包裝在單一執行檔並且可以自動對os註冊dll http://delphi.ktop.com.tw/board.php?cid=30&fid=72&tid=38012 這篇小弟不知道如何建立 rc 檔案 ? Delphi 有提供工具 ? |
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
carstyc
資深會員 發表:16 回覆:254 積分:329 註冊:2003-07-18 發送簡訊給我 |
pcboy 大大
小弟最近剛好有需求,並實作成功。把過程跟大大分享一下 1.首先先建立一個文字檔 如 my.rc 內容如下 MYDLL TESTDLL C:\TEST.DLL 2.然後就用 Delphi 內建的 brcc32.exe 去製作 my.res brcc32 my.rc 這樣就會長出 my.res 3.在程式內再去引用 {$R my.res } 4.把它取出來存檔囉 with TResourceStream.Create( Hinstance, 'MYDLL','TESTDLL') do begin SavetoFile(TEST.DLL'); end; 5. 打完收工 以上說明,謝謝 ===================引 用 pcboy 文 章=================== 請問一下, 有其它 Freeware 工具可以做 RC File ? ===================引 用 taishyang 文 章=================== RC file可由VC產生出來 ? |
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
carstyc
資深會員 發表:16 回覆:254 積分:329 註冊:2003-07-18 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
成功了
OpenSSL.rc 檔案內容 [code delphi] OpenSSL1 ssleay32 ssleay32.dll OpenSSL2 libeay32 libeay32.dll [/code] Unit1.pas 程式中加上 [code delphi] with TResourceStream.Create( Hinstance, 'OpenSSL1','ssleay32') do begin SavetoFile('ssleay32.dll'); end; with TResourceStream.Create( Hinstance, 'OpenSSL2','libeay32') do begin SavetoFile('libeay32.dll'); end; [/code] 但是執行的時候會解出 ssleay32.dll 和 libeay32.dll 如果不想解出來, 可以直接調用嗎? 謝謝
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
carstyc
資深會員 發表:16 回覆:254 積分:329 註冊:2003-07-18 發送簡訊給我 |
pcboy 大大
這....這....這....這....這....要從 Stream 裡面去調用 dll ....,可能要以大大您的功力才有辦法研究出來吧。 我們這種『肉腳』能想到的就是,用的時候存到『遙遠』的目錄下,比如 Syste32 底下。再不保險,就呼叫完後把檔案也刪掉。下次要用時再產生出來。 ===================引 用 pcboy 文 章=================== 成功了 OpenSSL.rc 檔案內容 [code delphi] OpenSSL1 ssleay32 ssleay32.dll OpenSSL2 libeay32 libeay32.dll [/code] Unit1.pas 程式中加上 [code delphi] with TResourceStream.Create( Hinstance, 'OpenSSL1','ssleay32') do begin SavetoFile('ssleay32.dll'); end; with TResourceStream.Create( Hinstance, 'OpenSSL2','libeay32') do begin SavetoFile('libeay32.dll'); end; [/code] 但是執行的時候會解出 ssleay32.dll 和 libeay32.dll 如果不想解出來, 可以直接調用嗎? 謝謝 |
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
carstyc
資深會員 發表:16 回覆:254 積分:329 註冊:2003-07-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |