一些数据库应用程序开发人员更喜欢在主表单之前通过编辑项目源文件来创建数据模块
begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TDM, DM);
  Application.CreateForm(TMainForm, MainForm);
{...}
  Application.Run;
end.
问题是 - 为什么?什么是利弊?
我同意梅森的回答,因为它解释了为什么人们会这样做.但是,我认为这是一种糟糕的方法,因为它隐藏了IDE维护的代码中的依赖性.在我看来,数据模块应该从自动创建列表中删除,它应该在主窗体的OnCreate方法中创建.
这一个真的有两个阵营,两者都是正确的.
第一个让应用程序管理每个表单/数据模块的生命周期.在这种情况下,如果主窗体使用数据模块,则必须先创建它才能使用它.这适用于小型应用程序,但是当您使用多个表单到达更大的应用程序时会有一个加载开销...但是一旦加载了应用程序,那么显示表单几乎是即时的,因为它已经在内存中创建.因为已经创建了每个表单/资源,所以在运行应用程序时也会有大量内存.当您向应用程序添加新表单/数据模块时,此方法是Delphi"引导"您的默认方法.如果不在mainform的OnCreate中使用datamodule,则它可以在创建顺序中较低,因为在Application.Run启动之后才会调用它.
第二阵营想要处理每个表单/数据模块本身的创建和销毁(通常用于除MainForm之外的所有表单).此方法的优点是应用程序加载速度更快,并且在启动时立即消耗更少的内存.通常在这种情况下,它是完全管理他们使用的每个表单/数据模块的生命周期的主要形式(或其他形式).此方法最适用于具有多种形式的大型应用程序.
| 归档时间: | 
 | 
| 查看次数: | 3481 次 | 
| 最近记录: |