Delphi Dll中传送Pchar类型参数是否需要加var

Delphi Dll中传递Pchar类型参数是否需要加var比如原来有个函数是这样的:procedure GetMsg(ret: Integer v

Delphi Dll中传递Pchar类型参数是否需要加var
比如原来有个函数是这样的:

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 才是正确的写法?

[解决办法]
申请了内存,可不加

procedure GetMsg(ret: Integer; Msg: PChar);stdcall; //返回消息
begin
  StrPCopy(Msg, 'OK');
end;

var
  P:Pchar;
begin
  P:=stralloc(1024);
  GetMsg(100,P);
  showmessage(P);
  strdispose(P);
end;