读书人

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

发布时间: 2013-10-19 20:58:22 作者: rapoo

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;

读书人网 >.NET

热点推荐