function TestDll(a:pchar; b:pchar; rtna:pchar; rtnb:pchar):integer;stdcall;
begin //处理语句
//…… Result:=i;
end;exports
TestDll;begin
end. 想实现rtna和rtnb作为出参,返回给调用TestDll的程序,请问如何实现?
begin //处理语句
//…… Result:=i;
end;exports
TestDll;begin
end. 想实现rtna和rtnb作为出参,返回给调用TestDll的程序,请问如何实现?
如果是调用者事先分配缓冲区,那么你直接可以通过指针操作来修改缓冲区内容。函数的参数表保持现在这样不变。
如果是要直接修改实参指针的指向,那么必须传递引用。参数表改为(a, b:pchar; var rtna, rtnb:pchar)
返回结构体
用var/out参数
begin //处理语句
//…… Result:=i;
end;exports
TestDll;begin
end.