GARANTIR DESCONTO

Fórum cancelar show no OnCreate #310207

21/01/2006

0

faço uma verificação no OnCreate do form, e gostaria que dependendo do resultado a abertura do form fosse cancelada


Raserafim

Raserafim

Responder

Posts

21/01/2006

Massuda

Não tenho certeza nem tenho como testar agora, mas acho que você pode fazer Visible = False no OnCreate; a janela será criada mas não será exibida.


Responder

Gostei + 0

21/01/2006

Tatuweb

:arrow: [b:ac6523d740]Outra sugestão:[/b:ac6523d740]

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).


Responder

Gostei + 0

22/01/2006

Macario

faço uma verificação no OnCreate do form, e gostaria que dependendo do resultado a abertura do form fosse cancelada



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.


Responder

Gostei + 0

22/01/2006

Raserafim

mas acho que você pode fazer Visible = False no OnCreate

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.

Quando voce ´dispara´ a chamada para criar o form o mesmo não sera exibido até voce passar o comando Show ou ShowModal.

foi mal, não especifiquei, mas estou em uma aplicação MDI, então os forms ao serem criados são tb automaticamentes mostrados.



Responder

Gostei + 0

22/01/2006

Raserafim

resolvi o problema, acabei fazendo o seguinte:
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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar