一個dll檔的程式不能運作 |
尚未結案
|
sundy6719
初階會員 發表:136 回覆:78 積分:42 註冊:2002-07-10 發送簡訊給我 |
我製作了一個dll檔可是不能運作那麼我目前的
專案檔是
procedure TForm1.Button2Click(Sender: TObject);
var
a,b,c,ccc:integer;
ddd:thandle;
sss:integer;
begin
ddd:=loadlibrary('project2.dll');
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
c:=strtoint(edit3.text);
@sss:=getprocaddress(ddd,'bbb');//可是目前的都會錯誤都會停在這裡然後就不動了也沒有錯誤訊息!!!
ccc:=bbb(a,b,c);
showmessage('最大值為' inttostr(ccc));
freelibrary(ddd);
end;
以下是unit檔的程式碼
function bbb(a,b,c:integer):integer;
begin
if a>b then
if a>c then
bbb:=a
else
bbb:=c
else
if b>c then
bbb:=b
else
bbb:=c;
end;
請問各位前輩我是錯在哪裡呢???謝謝~~~
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
sundy6719 您好:
請將 code 修改成以下,應該就可以執行了,您的原始 code 應該是 compile 階段就會有 error 了
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} type TExportProc = function (a,b,c:integer):integer; procedure TForm1.Button1Click(Sender: TObject); var a, b, c, ccc: integer; ddd: THandle; sss: TExportProc; begin ddd := LoadLibrary('Project2.dll'); if ddd = 0 then begin ShowMessage('Can not Load Dll Lib!!'); exit; end; a := strtoint(edit1.text); b := strtoint(edit2.text); c := strtoint(edit3.text); sss := GetProcAddress(ddd,'bbb'); ccc := sss(a, b, c); showmessage('最大值為' inttostr(ccc)); FreeLibrary(ddd); end; end. library Project2; uses Unit2 in 'Unit2.pas'; exports bbb; {$R *.RES} begin end. Unit Unit2; interface function bbb(a,b,c:integer):integer;export; implementation function bbb(a,b,c:integer):integer; begin if a>b then if a>c then bbb:=a else bbb:=c else if b>c then bbb:=b else bbb:=c; end; end.---- 我只會兩件事,這也不會,那也不會 ---- 眼見不一定為真 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |