- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当您在 C++Builder 中创建 Vcl 应用程序时,它会自动为您创建表单并添加如下行:
Application->CreateForm(__classid(Tmain), &main);
new
要创建表单,因此删除所有这些行,除了我的主表单的那一行(有关一些讨论,请参阅
this article by
Rob Kennedy)。
new
创建表单给出编译时“无法创建抽象类的实例”错误。
new
在所有表格上,包括主表格?还有什么东西是
Application.CreateForm()
在幕后做,我可以复制这个吗?
最佳答案
CreateForm()
是在 Delphi 中实现的,而且 Delphi 很高兴地实例化了抽象类的对象(为什么有人会猜测)。当跨越 Delphi/C++ 边界时,任何一种语言本身提供的某些保护措施可能会丢失。
在 C++ 中,您可以使用 new
对于所有辅助表单,但您 不能 将它用于主窗体(没有一些麻烦)。Application->CreateForm()
分配 Application->MainForm
创建 TForm
时的属性第一次对象。 MainForm
由 Application->Run()
要求.如果MainForm
未分配,Run()
将立即退出,终止进程。
另外,MainForm
属性在 VCL 中是只读的,所以你不能手动设置它(不过你可以在 FireMonkey 中)。
因此,尝试创建 MainForm
的麻烦是不值得的。手动通过 new
,因为您必须复制 CreateForm()
的所有内容和 Run()
在内部执行(建立应用程序与任务栏的关系,并运行 VCL 消息循环)。最好简单地确保你的主表单类从一开始就不是抽象的,然后使用 CreateForm()
在运行时实例化它。让 VCL 完成它的工作。
关于C++Builder:是否需要 Application.CreateForm()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40631119/
在我的程序中,主窗体的创建速度很慢:我发现它在调用窗体的 OnCreate 事件之前挂起大约两秒钟。所以我怀疑这是在创建组件时发生的。 由于此表单有多个框架,我想知道是否有一种方法可以“分析”组件的创
我正在使用Spring4d framework用于依赖注入(inject)和其他事情。 在应用程序入口点中,我必须创建应用程序“主”表单。不过,我不知道除了 Application.CreateFor
我有一个功能,可以在应用程序启动之前检查设置和权限,如果一切顺利,它会选择要运行的版本并相应地更改主表单。 function SomeControlFunction: Boolean; var l
我偶然发现了这个页面Why shouldn’t I call Application.CreateForm 。现在我有一些这样的代码: SplashForm := TSplashForm.Create
我正在 delphi 2007 (CodeGear RAD Studio) 中从事一个项目。申请中有几种表格。这三个表单的创建如下: program MyProgram; uses Forms
创建多表单 VCL 应用程序时,使用 TApplication.CreateForm() 创建的表单的状态如何?是否有对 WinAPI 的调用将它们设置为不可见状态,或者是否由某些 VCL 内部工作处
当您在 C++Builder 中创建 Vcl 应用程序时,它会自动为您创建表单并添加如下行: Application->CreateForm(__classid(Tmain), &main); 我倾向
我在 Django 中创建了一个表单和一个 View ,我试图在 HTML 中显示它,但它没有加载任何东西,我不知道为什么。 校友2.html {% block header %}
从 Symfony 2.8 开始,您只能将 FQCN 传递到 Controller 的 createForm 方法中。所以,我的问题是,当我在 Controller 中创建表单时,如何将构造参数传递给
我有一个表单类型,它使用带有实体字段的查询生成器来获取相关选项。但是因为我正在为实体使用自定义实体管理器,所以它似乎无法识别这些选项。我得到了错误: Entities passed to the ch
我学习了一个类(class),其中有一个如何制作表格的示例。当我尝试它时,我收到 ServiceNotFoundException 错误,而且我在网络上的任何地方都找不到它。 Service "for
我问这个只是为了在这里澄清:我不小心将 createForm 属性设置为 false。然后我期望一个链接事件应该打开另一个页面,但不再起作用。这是 SSJS 事件的预期行为吗?当您禁用表单创建时在链接
我想从我的自定义服务访问 Controller 方法。我创建了 MyManager 类,我需要在其中调用 createForm() 和 generateUrl() 函数。在 Controller 中我
我是一名优秀的程序员,十分优秀!