Fórum fechar form sem se está criado #346834
30/09/2007
0
Sempre tem apenas um criado e na tela (showModal).
O que eu gostaria é fechar o form que está aberto sem saber qual deles é que está carregado.
Como poderia fazer isso?
Obrigado.
Armindo
Curtir tópico
+ 0Posts
30/09/2007
Mayron Cachina
ele ta abrindo sozinho e só 2, se tem 3??? explica melhor um pouquinho ai...
Gostei + 0
01/10/2007
Armindo
ele ta abrindo sozinho e só 2, se tem 3??? explica melhor um pouquinho ai...[/quote:6e83082522]
Vou colocar um pouco diferente então:
Tenho 3 forms. Um é o principal(form1). Neste tenho um menu onde o form2 e outro menu onde o form3 é chamado.
Quando se aciona esses menus eu excuto:
´Application.CreateForm(TForm2,Form2);
Form2.ShowModal´
ou
´Application.CreateForm(TForm3,Form3);
Form3.ShowModal´
No form principal, coloquei um ApplicationEvents. Quando ocorrer uma exceção qualquer em um dos forms (2 ou 3), no onException do ApplicationEvents, quero fechar o form ativo (FAtivo.Close);
Ou seja, o que preciso é verificar qual o form (além do principal) que está carregado, para fechá-lo.
OBs.: coloquei 3 forms só para exemplificar, mas na verdade a aplicação tem mais de 30 forms.
Obrigado
Gostei + 0
01/10/2007
Mayron Cachina
ai vc trata o erro no própio form...
eu acho q pode fazer isso
Gostei + 0
01/10/2007
Armindo
ai vc trata o erro no própio form...
eu acho q pode fazer isso[/quote:ca01ff1e9a]
Tendo em vista inúmeras outras variáveis no meu sistema, que não tem como te explicar aqui, eu preciso fazer o tratamento no componente ApplicationEvents.
Mas valeu pela tentativa de ajuda.
Se descobrir algo, postarei aqui.
Obrigado.
Gostei + 0
02/10/2007
Johnny-walker
mais ou menos assim:
procedure TForm1.Button1Click(Sender: TObject);
var
I : Byte;
begin
for I := 1 to Screen.FormCount -1 do
begin
ListBox1.Items.Add(Screen.Forms[I].Name);
end;
end;
PS.: lembranod que a variavel screen somente retorna os forms criados ou autocriados...
bye
Gostei + 0
25/04/2008
Armindo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)