2013-07-26 13 views
8

Sto lavorando a un progetto in delphi 2007 (CodeGear RAD Studio). Ci sono un paio di moduli nell'applicazione. forme thouse vengono creati nel modo seguente:Il modulo viene visualizzato dopo il passaggio "Application.CreateForm"

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. 

il problema è, che la forma on line Application.CreateForm(TSettings, Settings); Impostazioni appare (non modale). E la domanda è: perché sta succedendo?

So che probabilmente non è abbastanza informazioni, ma sono pronto a fornire alcuni, se necessario.

P.S. Attualmente sto riorganizzando la logica del programma in modo tale che il modulo delle impostazioni venga creato solo prima che sia in procinto di apparire e dopo di ciò lo cancelli. Tuttavia, mi piacerebbe sapere la risposta a questa domanda.

+1

D'accordo con Arich 'The – RBA

risposta

13

La proprietà Visible del modulo delle impostazioni è impostata su true in fase di progettazione e pertanto viene visualizzata non appena viene creata.

+5

+1 questa è la risposta corretta –

+3

è così ovvia e semplice - ecco perché l'ho perso! Grazie! –

+2

Nelle moderne versioni di Delphi, i moduli secondari creati automaticamente sono impostati su "Visibile = Falso" per impostazione predefinita. Non so se ciò accade in D2007, o se l'OP imposta semplicemente 'Visible = True' e se ne dimentica. –

Problemi correlati