unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    btn1: TButton;
    edt1: TEdit;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.btn1Click(Sender: TObject);
var
  p: PChar;
begin
  p := StrAlloc(2);
  ShowMessage(StrPas(p));
end;end.
----
结果弹出一个框,居然是btn1的Caption的值 btn1 ! WHY ??StrAlloc后PChar所指的字符串不是随机的么?怎么这么巧居然指向一个特定的串?