我偶然在這頁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