我偶然在这页Why shouldn’t I call Application.CreateForm。 现在我有一些像这样的代码:如何避免两次调用Application .CreateForm?
SplashForm := TSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Update; // force update
Application.Initialize;
Application.CreateForm(TClientData, ClientData);
SplashForm.Update; // force update
Application.CreateForm(TClientMainForm, ClientMainForm);
Application.ShowHint := True;
Application.Run;
ClientMainForm.ServerConnected := false;
FreeAndNil(ClientMainForm);
FreeAndNil(ClientData);
首先创建一个splashform,然后一个数据模块和持续的主要形式。该页面说Application.CreateForm不应该被调用两次。上面的代码应该改变吗?
Regards
我不认为这是更好的风格去除IDE中创建全局。这些是Delphi应用程序工作的一部分。实际上,这种“优化”更像是一种“代码异味”,而不是非优化的IDE生成的代码。 – 2010-02-01 15:21:59
@Warren:这个评论根本没有任何意义。除了主窗体变量以外,Delphi应用程序不需要使用这些全局变量中的*任何*,并且主窗体中的一个可以很容易地被项目文件中的一个变量所替代,这个变量不会被知道任何其他单位,所以它也不会是一个真正的全球变量。 – mghie 2010-02-01 17:38:59
我只是在评论“虽然你可以删除它们,如果你喜欢”这句话,我不认为这是一个好主意。 – 2010-02-01 19:38:24