比如原来有个函数是这样的:procedure GetMsg(ret: Integer; var Msg: string); stdcall; //返回消息
begin
Msg := 'OK';
end;现在改成这样:
procedure GetMsg(ret: Integer; var Msg: PChar); stdcall; //返回消息
begin
StrPCopy(Msg, 'OK');
end;这里的 var Msg: PChar 是否一定要加 var 才是正确的写法?
begin
Msg := 'OK';
end;现在改成这样:
procedure GetMsg(ret: Integer; var Msg: PChar); stdcall; //返回消息
begin
StrPCopy(Msg, 'OK');
end;这里的 var Msg: PChar 是否一定要加 var 才是正确的写法?
Pchar传递的不就是指针了吗?为什么要加上var呢?
begin
StrPCopy(Msg, 'OK');
end;var
P:Pchar;
begin
P:=stralloc(1024);
GetMsg(100,P);
showmessage(P);
strdispose(P);
end;