background image

  private
    { Private declarations }

  public
    { Public declarations }

    procedure Mine;
  end;
把光标放到

procedure Mine 这行,按下 Ctrl+Shift+C,下面这段代码将自动插入到单元中:

procedure TForm1.Mine;

begin

end;

==窗体操作篇==

    在有多个窗体的程序中,Delphi 默认是将它们在程序启动时全部创建(只是都隐藏了,只显示一个主窗
体),这样,那些暂时不必要启动的窗体就占用了许多内存空间。所以我们需要在菜单

Project|Options...

Forms

标签页下,将那些暂时不要启动的窗体从

Auto-create forms”

下转移到

Available forms”中。

这样,这些窗体的创建和释放就需要代码来实现了。
A.两种创建窗体方法之比较。对于这些非自动创建的窗体,我们必须在

Show 之前 Creat(Self)或

Create(Application),将其创建。如 Form2.Creat(Self)和 Form2.Create(Application),可是,
它们两个到底有什么区别呢?其实两者区别不大,
但如果

Owner 是属于别的窗口或控件的话,当它的 Owner 被释放的时候,该 Owner 所拥有的也会被释放。关键

的区别是由谁来管理该窗体的资源。用第一种方法创建,该窗体的资源由编程者来负责管理;用第二种方法创建,
该窗体的资源由

Application 来管理。

B.几种窗体的释放方法。既然是为了节约内存,那么用完了的窗体就应该 搬出 内存。在这里我列举几个大同
小异的方法:
(1)
procedure TForm1.Button1Click(Sender :TObject);

begin
......

if Form2 = nil then
  Form2:=TForm2.Create(Application);

Form2.ShowModal;
......

end;

procedure TForm2.close(Sender: TObject; var Action: TCloseAction);
begin

  ModalResult := mrNone;
  Action := caFree;

  Form2 := nil;
end;

(2)
procedure TForm1.Button1Click(Sender :TObject);

begin
  if not Assigned(Form2) then

  begin
    Application.CreateForm(TForm2,Form2);

    try
      Form2.ShowModal;

    finally
      Form2.Free;

      Form2 := nil;
    end;

  end
  else