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所指的字符串不是随机的么?怎么这么巧居然指向一个特定的串?
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所指的字符串不是随机的么?怎么这么巧居然指向一个特定的串?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货