当您在C++ Builder中的Vcl应用程序,它为你自动创建形式,并增加了线,如:C++ Builder:是否需要Application.CreateForm()?
Application->CreateForm(__classid(Tmain), &main);
我倾向于更喜欢使用new
创建表单,所以删除所有这些行除了我的主要形式之外(参见this article,Rob Kennedy进行了一些讨论)。
我最近发现的是,CreateForm()将非常高兴地创建包含纯虚方法的表单。在运行时会导致“纯虚函数称为”错误。相反,使用new
创建表单给出了编译时“不能创建抽象类的实例”的错误。
编译时错误优于运行时错误,我不得不怀疑我是否可以在所有表单上使用new
,包括主窗体?还有什么其他的东西是Application.CreateForm()
在幕后做的,我可以复制这个?
在项目 - >选项 - >表单中你有一个列表“自动创建表单”(和一个主表单选择)。您可以将除主窗体之外的所有窗体移动到“可用窗体”列表中,以在运行时手动创建它们。 – Flanker