當您在C++ Builder中的Vcl應用程序,它爲你自動創建形式,並增加了線,如:C++ Builder:是否需要Application.CreateForm()?
Application->CreateForm(__classid(Tmain), &main);
我傾向於更喜歡使用new
創建表單,所以刪除所有這些行除了我的主要形式之外(參見this article,Rob Kennedy進行了一些討論)。
我最近發現的是,CreateForm()將非常高興地創建包含純虛方法的表單。在運行時會導致「純虛函數稱爲」錯誤。相反,使用new
創建表單給出了編譯時「不能創建抽象類的實例」的錯誤。
編譯時錯誤優於運行時錯誤,我不得不懷疑我是否可以在所有表單上使用new
,包括主窗體?還有什麼其他的東西是Application.CreateForm()
在幕後做的,我可以複製這個?
在項目 - >選項 - >表單中你有一個列表「自動創建表單」(和一個主表單選擇)。您可以將除主窗體之外的所有窗體移動到「可用窗體」列表中,以在運行時手動創建它們。 – Flanker