很久没写delphi了,我就文本打字给你写个例子吧,你试着调试下:
function uf_sendrcva(as_messagecode, as_message, as_knxx: String): String;
var
pRcv, p_return: PAnsiChar;
begin
pRcv := stralloc(4096);
p_return = stralloc(4096);
try
StrPCopy(pRcv, as_knxx);
StrCopy(p_return, SendRcvA(PAnsiChar(as_knxx), pRcv));
//uf_sendrcva 你自己对应着改
//memo2.Text := uf_sendrcva('G002', memo2.Text, memo2.Text);
finally
StrDispose(rRcv);
StrDispose(p_return);
end;
end;
pb中的string对用delphi中用pchar类型,需要stralloc分配空间(对应pb的space)和strdispose释放空间。
SendRcvA(PAnsiChar(pSend),PAnsiChar(pRcv));
对于pRcv之类用来接收返回的数据,你要申请变量 pchar类型,用stralloc分配后传入,你PAnsiChar(pRcv)强制转换传入,肯定不行