首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2013-10-19 
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;

热点排行