动态建立不常用的对象
不常使用的对象,例如一个 About 对话框应该只在需要的时候来动态地建立,这样可以避免浪费资源。
举例来说,假定你建立了一个应用程序,并为其建立了一个 About 对话框,则生成的代码将在程序初始化建立主 Form 时也一并建立了
About 对话框的Form以及其关对象,这个 About 对话框将一直占用部分资源直到程序结束,即使用户从未激活这个 About
对话框。
较好的做法是让 Delphi 在建立主 Form 时不自动建立 About 对话框(或其他不常用的对象),激活 Delphi
主菜单的"Project"-"Options..."项,选取"Application"页,你会看到有两个列表框,左边列表框中的项目表示在程序初始化时将自动建立的所有
Form,选择除主 Form 外的其他 Form,单出">"按钮,将这些不需要在程序初始化时与主 Form
一并建立的东西全部移动右边的列表框中,这样,你的应用程序在初始化时就只建立主窗口,而不是自动建立一大堆用户可能从不访问的窗口。
下面的代码段说明了怎样动态地建立并激活一个About对话框:
procedure MainForm.AboutItemClick(Sender:TObject);
begin
with TAboutBox.Create(Application) do
begin
try
ShowModal;
finally
Free;
end;
end;
end;
上例动态地建立了一个 TAboutBox 类的 Form ,然后以 MODAL 方式来激活这个
Form,其间无论出现什么错误,都保证会释放该动态对象所占的资源。
|