[求助]为何无法传递一个对象给dll中的过程使用?(50分)

  • 主题发起人 主题发起人 littlexb
  • 开始时间 开始时间
L

littlexb

Unregistered / Unconfirmed
GUEST, unregistred user!
我的dll中是这样写的:
procedure cls(obj:Tmemo);stdcall;
begin
if obj<>nil then obj.clear
//运行到这里出错
end;
exports
cls;

我的主程序是这样写的:
Tmyproc = procedure (obj:Tmemo);stdcall;

var myproc1:Tmyproc

prochandle:=loadlibrary(pchar('project1.dll'));
if prochandle<>0 then
begin
@myproc1:=getprocaddress(prochandle,pchar('cls'));
if @prochandle<>nil then myproc1(memo1);
end;
freelibrary(prochandle);
 
if @prochandle<>nil then myproc1(memo1);
应该改为:if @myproc1<>nil then myproc1(memo1);
 
哦,原来如此
 
后退
顶部