test.dll:function test(x:double; out errcode:string):double;stdcall;
begin
if x=0 then
errcode:='error'
else
result:=1/x ;
end;调用时:function test(x:double;s:string):double;stdacall;external 'e:\tes.dll';procedure TForm1.Button1Click(Sender: TObject);
var x:double;
s:string;
begin
x:=strtofloat(edit1.text);
showmessage(floattostr(f(x,s)));
end; 调试时出现错误,请问如何实现
begin
if x=0 then
errcode:='error'
else
result:=1/x ;
end;调用时:function test(x:double;s:string):double;stdacall;external 'e:\tes.dll';procedure TForm1.Button1Click(Sender: TObject);
var x:double;
s:string;
begin
x:=strtofloat(edit1.text);
showmessage(floattostr(f(x,s)));
end; 调试时出现错误,请问如何实现
如果是你Dll中函数的错误 增加一个 Var 引用类型的参数 在Dll的那个函数中 try 得到错误 赋给那个参数就OK了