菜鸟请教
使用delphi 7建立一个两个窗体的项目,其中主窗体为FORM1,动态创建FORM2窗体。
Unit1代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
unit2;
//button1的click事件为建立FORM2窗体
procedure TForm1.Button1Click(Sender: TObject);
var
cform:tform2;
begin
cform:=tform2.Create(application);
cform.Show;
end;
end.
Unit2的代码如下:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
//此按钮为FORM2的关闭按钮,即关闭整个form2窗体
procedure TForm2.Button1Click(Sender: TObject);
var
Fform:tform2;
begin
Fform.Close;
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
end.
想请教在form2的关闭按钮事件中,定义了一个空指针的Fform对象,为什么可以执行close方法,并能触发form2的close事件并关闭释放掉动态创建的form2窗体?望高手解答!!!