function getit(it:PChar; it:PChar; it3: Pointer): Integer; stdcall; external 'my.dll';var dt:integer; p1:pchar;
begin
GetMem(p1,sizeof(char)*20);
try
dt:=getit(pchar('it1'),pchar('it2'),p1);
except
mxm.Lines.Add(inttostr(dt));
mxm.Lines.Add('error!');
exit;
end;
mxm.Lines.Add(p1);
mxm.Lines.Add(inttostr(dt));
FreeMem(p1);
end;编译通过。可执行报错。
begin
GetMem(p1,sizeof(char)*20);
try
dt:=getit(pchar('it1'),pchar('it2'),p1);
except
mxm.Lines.Add(inttostr(dt));
mxm.Lines.Add('error!');
exit;
end;
mxm.Lines.Add(p1);
mxm.Lines.Add(inttostr(dt));
FreeMem(p1);
end;编译通过。可执行报错。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货