在Delphi 10.1 Berlin IDE中,使用VCL Form应用程序项目,在Project Options对话框中,我有以下设置:
现在我希望在 FormMain
表单之前创建 formOptions
表单,同时将 FormMain
表单保留为主表单 . 原因是:主窗体可以在其 FormCreate
过程中加载数据(其中尚未创建 formOptions
),但是为了处理这些数据,它需要 formOptions
表单中的设置 .
但是只要我将 formOptions
项拖到列表顶部,上面的主表单组合框也会变为 formOptions
!
那么如何在 FormMain
表单之前创建 formOptions
表单,同时将 FormMain
表单保留为主表单?
1 回答
使用
Application.CreateForm()
创建的第一个TForm
成为VCL的Application.MainForm
,无法更改 . 因此,在CreateForm()
指定MainForm
之前,需要执行任何初始化 .您有两种选择:
formOptions
(从而删除为其生成的CreateForm()
调用),然后在代码中自己手动创建它 .CreateForm()
在完全创建之前不会分配MainForm
,因此您可以通过以下两种方式之一来实际处理:一个 . 直接在项目的
.dpr
文件中:湾在MainForm的
OnCreate
事件中:TDataModule
(甚至是独立类),然后在创建任一表单之前(自动)创建该对象 . 然后,FormMain
和formOptions
可以在需要时从该对象检索其设置: