Delphi XE里的StrPas要注意哦

废话不多说了,直接上例子解说:

 

procedure TForm1.Button1Click(Sender: TObject);
var
  aa: array[0..1]of AnsiChar;
  bb1: string;
begin
  aa[0] := AnsiChar('1');
  aa[1] := AnsiChar('2');

  bb1 := StrPas(aa);
  ShowMessage(bb1);    //这里显示不正确
end;

 

 

procedure TForm1.Button1Click(Sender: TObject);
var
  aa: array[0..2]of AnsiChar;
  bb1: string;
begin
  aa[0] := AnsiChar('1');
  aa[1] := AnsiChar('2');

  bb1 := StrPas(aa);
  ShowMessage(bb1);   //这就正确了
end;

 

为什么呢??  没时间深入研究了,估计是StrPas的Bug。

 

你可能感兴趣的:(Delphi)