ShowModal 动态创建窗体和释放窗体

//动态创建窗体和释放窗体 
{
在Delphi中窗体是TForm类的子类,在程序运行过程中,可以动态创建这个类的实例对象。
首先声明一个窗口对象,然后调用TForm类的Create方法创建对象。
Constructor Create(AOwner:TComponent);

AOwner 窗口的拥有者

可以调用 Show或者ShowModal方法将窗口显示 出来 
最后用 Free方法释放窗体资源。

创建2个窗体

form1
form2 这个窗体用来调用的

}


program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
 // Application.CreateForm(TForm2, Form2);把此句删除 了
  Application.Run;
end.
//-------------------------------------------------------
implementation
    uses Unit2;//引用Unit2
{$R *.dfm}
//这和form2.show有什么先进的地方吗?

procedure TForm1.Button1Click(Sender: TObject);
var
  Form2:Tform2;
begin
    Form2:= TForm2.Create(nil);
    try
      Form2.ShowModal;
    finally
       Form2.Free;
    end;
end;

//完成 -> 在制作比较在的程序时,用动态创建窗体的方法节省内存空间。




原文地址:https://www.cnblogs.com/xe2011/p/2531606.html