照着书上的例子写的,可是怎么也通不过,请大家看看,问题出在哪? ( 积分: 100 )

  • 主题发起人 wulfalone
  • 开始时间
W

wulfalone

Unregistered / Unconfirmed
GUEST, unregistred user!
是动态调用dll的。
unit Unit3;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Tmyproc = function(x,y:integer):integer;
var
Form1: TForm1;
myproc:Tmyproc;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
myh: thandle;
i:integer;
begin
myh:=loadlibrary('Project1.dll');
if myh <>0 then
begin
@myproc := getprocaddress(myh,'min');
i:=myproc(89,111);
form1.Edit1.Text :=inttostr(i);
end;
freelibrary(myh);
end;

end.
 

i:=myproc(89,111);
这一句出错吗?
 
跟踪一下程序
 
把错误写出来啊,这样别人怎样帮你。
还有,把dll的源码也贴上
 
Tmyproc = function(x,y:integer):integer;stdcall;
试一下
 
楼主把DLL的代码贴出来。

to muhx: 好久不见啊,呵呵,结婚了没?
 
楼主注意一下
@myproc := getprocaddress(myh,'min');
中的min的大小写和DLL中的函数名大小写是不是一样的,还有在DLL中要用
exports
min;
把min导出才可以哦
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
590
import
I
I
回复
0
查看
578
import
I
顶部