Formularios

17/09/2009

Seguinte.     Tenho um projeto com varios TForms. Em um dado momento eu quero listar todos esses forms e verificar se os mesmos estao ativos (Form.Show ou ShowModal). Se estiver ativo eu quero fecha-lo e destrui-lo. Vcs tem uma ideia de como fazer esse processo.     Atenciosamente       Adriano
Adriano Silva

Adriano Silva

Curtidas 0

Respostas

Rodrigo Mourão

Rodrigo Mourão

17/09/2009

Olá amigo, bem podemos fazer de duas maneiras isso vai depender de esta trabalhando com MDI ou não.

Mas vamos lá. Se for MDI faça:

  for I := 0 to MDIChildCount - 1 do
        MDIChildren[I].Release;


Se form aplicação normal, faça:


 for I := 0 to Screen.FormCount - 1 do
    if Screen.Forms[I].ClassName <> 'TForm1' then
      Screen.Forms[I].Release;

Lembre-se que 'TForm1' e o nome da classe do meu form principal. Se eu não fizer isso ele fecha todos os forms inclusive o principal encerrando a aplicação.

Espero ter ajudado.

abs!!

GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

17/09/2009

Olá Amigo,

Por hora estaremos colocando o chamdo como encerrado !

Caso tenha algum outra dúvida poderá reabrí-lo que voltaremos a atendê-lo.

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
POSTAR