表单出现在'Application.CreateForm'步骤之后

Ole*_*nko 8 delphi

我正在研究delphi 2007(CodeGear RAD Studio)的一个项目.应用程序中有几种形式.Thouse表单创建如下:

program MyProgram;

uses
    Forms,
    uMain in 'Source\uMain.pas'                 {MainForm},
    uSettings in 'Source\uSettings.pas'         {fSettings};

{$R *.res}

begin
    Application.Initialize;
    Application.CreateForm(TMainForm, MainForm);
    Application.CreateForm(TSettings, Settings);
    Application.Run;
end.
Run Code Online (Sandbox Code Playgroud)

问题是,Application.CreateForm(TSettings, Settings);出现在线设置表单(非模态).问题是它为什么会发生?

我知道这可能不是足够的信息,但我准备提供一些,如果需要的话.

PS我目前正在重新编写程序逻辑,因此设置表单只会在它即将出现之前创建,然后删除它.不过,我想知道这个问题的答案.

iMa*_*ari 13

您的设置表单的Visible属性在设计时设置为true,因此它会在创建后立即显示.

  • 它是如此明显和简单 - 这就是我错过它的原因!谢谢! (3认同)
  • 在现代Delphi版本中,默认情况下,辅助自动创建的表单设置为"Visible = False".我不知道是否在D2007中发生了这种情况,或者如果OP只是设置了`Visible = True`而忘了它. (2认同)