代码1 var p : pchar; s : string; i : integer; begin s :='hello world'; i := length(s); GetMem(p,i); try p := PChar(s); finally FreeMem(p); //此处会出错 end; end;
代码2 var p : pchar; s : string; i : integer; begin s :='hello world'; i := length(s); GetMem(p,i); try StrPCopy(p,s); finally FreeMem(p); //可以正确释放 end; end;