Fórum cancelar show no OnCreate #310207
21/01/2006
0
Raserafim
Curtir tópico
+ 0Posts
21/01/2006
Massuda
Gostei + 0
21/01/2006
Tatuweb
No arquivo DPR, onde normalmente se lê
begin Application.Initialize; Application.CreateForm (TForm1, Form1); Application.Run; end.
Apague a linha correspondente ao form que vc deseja q não seja exibido. Por exemplo:
[b:ac6523d740] Application.CreateForm (TForm1, Form1);[/b:ac6523d740]
No arquivo .pas principal do form vc coloca
initialization if condicao = 10 then // Cria o form normalmente se a condição for satisfatoria Application.CreateForm (TForm1, Form1); else // Application.Terminate; // Encerra o programa ou Beep; // Executa outras rotinas SEM ABRIR O FORM end.
[b:ac6523d740]Nota:[/b:ac6523d740] O código dentro de initialization deve OBRIGATORIAMENTE estar no final do arquivo, antes do end. (end com um ponto final).
Gostei + 0
22/01/2006
Macario
Quando voce ´dispara´ a chamada para criar o form o mesmo não sera exibido até voce passar o comando Show ou ShowModal.
Após verificar a condição, ou voce exibe ou destroi o form.
Gostei + 0
22/01/2006
Raserafim
massuda, pelo que testei não deu certo não.
TatuWeb, a verificação é ao abrir um form e não a aplicação. caso a condição não satisfaça então quero evitar a abertura do form.
no seu exemplo é para evitar de abrir a aplicação. ao menos foi o q entendi.
foi mal, não especifiquei, mas estou em uma aplicação MDI, então os forms ao serem criados são tb automaticamentes mostrados.
Gostei + 0
22/01/2006
Raserafim
fiz a verificação no OnCreate do form, e caso não satisfaça dou um WindowState := wsMinimized e seto uma variável, e no OnShow do form, de acordo com o valor desta variável fecho o form.
Gostei + 0