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

大家好,不知道怎麼樣把LoadLibrary的dll整合到主專案中

 
gavin54321
一般會員


發表:2
回覆:10
積分:2
註冊:2007-01-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-02-15 11:09:30 IP:61.223.xxx.xxx 訂閱
大家好,不知道怎麼樣把LoadLibrary的dll整合到主專案中~~
我之前把一些func做成dll
再在主專案去LoadLibrary那個DLL
現在想要直接坐在主專案中
不知道怎做
主專案程式:
Sfunc:= LoadLibrary(SFdll);
if Sfunc=0 then exit
TextMemory:=GetProcAddress(Sfunc,'Func01');
CPUloading:=GetProcAddress(Sfunc,'Func02');
DLL專案的DPR:
uses
SysUtils,
Classes,
Sfunctions in 'Sfunctions.pas';
exports Func01;
exports Func02;

DLL 'Sfunctions.pas':檔案:
function Func01;stdcall;
function Func02;stdcall;
................




yorkland
高階會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-02-15 14:06:49 IP:60.248.xxx.xxx 訂閱
不太懂你的需求, 如果DLL也是你寫的, 把該Function的PAS檔拿來用就可以了, 不是嗎?
gavin54321
一般會員


發表:2
回覆:10
積分:2
註冊:2007-01-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-02-15 14:56:38 IP:61.223.xxx.xxx 訂閱
但是問題是 那個PAS的func 有幾百個
而且我是有換函數名
所以不知道該怎麼弄~~
gavin54321
一般會員


發表:2
回覆:10
積分:2
註冊:2007-01-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-02-15 15:06:19 IP:61.223.xxx.xxx 訂閱
希望可以將這些DLL整合進主專案作最小的改動

還有一種方式不知道怎麼做整合
injectdll
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-02-16 20:44:50 IP:61.64.xxx.xxx 訂閱
injectdll 還是需要 該 DLL

如樓上所說,既然是你自己的 *.pas 直接拿來用就好了

不過既然當初你有「力氣」換函數名稱
那現在你也只好認了,自己搞出來的嘛

所以你要是要保留後來的名稱,你還是要處理哪所謂的「幾百個函數」
把 DLL 的 pas 改成一般 pas 用函數 warp 的方式
但這樣,你以後肯定還會再痛苦一次
這就是設計時沒有考慮好的結果

簡單就是好,不要想太多

系統時間:2024-05-17 20:01:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!