-------类申明--------type ieface=interface
procedure domessage(s:string);end;
type Tmyobj=class(TInterfacedObject,ieface) public
procedure domessage(s:string);
end;implementation{ myobj }procedure Tmyobj.domessage(s: string);
begin
showmessage(s);
end;-------主程序-------procedure TForm1.Button2Click(Sender: TObject);
var h:Thandle;
PlugFun:Tpro;
begin
H := LoadLibrary(pchar('mydll.dll'));
try
PlugFun:=GetProcAddress(H, 'myfun');
PlugFun(newbase); //调用两次以上就出错
finally
freeLibrary(H);
end;
end;
---------dll文件--------
procedure myfun(ie:ieface);stdcall;
begin
ie.domessage('asdfasdf');
end;exports
myfun;
procedure domessage(s:string);end;
type Tmyobj=class(TInterfacedObject,ieface) public
procedure domessage(s:string);
end;implementation{ myobj }procedure Tmyobj.domessage(s: string);
begin
showmessage(s);
end;-------主程序-------procedure TForm1.Button2Click(Sender: TObject);
var h:Thandle;
PlugFun:Tpro;
begin
H := LoadLibrary(pchar('mydll.dll'));
try
PlugFun:=GetProcAddress(H, 'myfun');
PlugFun(newbase); //调用两次以上就出错
finally
freeLibrary(H);
end;
end;
---------dll文件--------
procedure myfun(ie:ieface);stdcall;
begin
ie.domessage('asdfasdf');
end;exports
myfun;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货