您的位置:首页 > 其它

学习官方示例 - System.Assigned

2008-09-11 00:50 483 查看
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

var
p1: Pointer;

procedure TForm1.Button1Click(Sender: TObject);
var
b1,b2,b3,b4: Boolean;
begin
//p1 := nil;
b1 := Assigned(p1);

GetMem(p1, 1024);
b2 := Assigned(p1);

FreeMem(p1, 1024);
b3 := Assigned(p1);

p1 := nil;
b4 := Assigned(p1);

ShowMessageFmt('%s, %s, %s, %s', [BoolToStr(b1,True),
BoolToStr(b2,True),
BoolToStr(b3,True),
BoolToStr(b4,True)]); {False, True, True, False}
end;

procedure TForm1.Button2Click(Sender: TObject);
var
p2: Pointer;
b1,b2,b3,b4: Boolean;
begin
p2 := nil;
b1 := Assigned(p2);

GetMem(p2, 1024);
b2 := Assigned(p2);

FreeMem(p2, 1024);
b3 := Assigned(p2);

p2 := nil;
b4 := Assigned(p2);

ShowMessageFmt('%s, %s, %s, %s', [BoolToStr(b1,True),
BoolToStr(b2,True),
BoolToStr(b3,True),
BoolToStr(b4,True)]); {False, True, True, False}
end;

end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: