Fórum Saber se um form já está criado - Delphi #592266
08/04/2018
0
MeuForm.Show;
.
{ vários codigos }
.
MeuForm.Free; // (As vezes sim, as vezes não, essa linha será executada antes da próxima verificação)
.
{ depois em outro lugar quero usar o mesmo form com a mesma variável MEUFORM que no meu caso é global }
.
IF Assigned( MeuForm ) Then // Vai retornar TRUE pois a variável ainda contem o objeto, porém ele não está alocado na memória.
.
Nesse caso daria erro de ACESS VIOLATION caso eu tentasse usar o FORM sem criar
.
E também não posso criá-lo novamente se já estiver criado, pois na minha aplicação preciso continuar a usá-lo de onde parou.
.
Como faço pra testar se o form está criado e acessível, independente se ele está SHOW ou HIDE
Alberto
Curtir tópico
+ 0Post mais votado
12/04/2018
Emerson Nascimento
Gostei + 2
Mais Posts
09/04/2018
Carlos Natividade
If not (frm_Principal = nil) then // verifica se o formulário principal já foi criado
Gostei + 0
09/04/2018
Alberto
MeuForm := TMeuForm.Create(Application);
MeuForm.Show;
.
{ vários codigos }
.
MeuForm.Free;
.
depois colocando a sua linha de codigo:
.
If not (fMeuForm = nil) then
.
Vai retornar TRUE, porém o form não está acessível.
Gostei + 0
12/04/2018
Alberto
Pois são vários os STATUS que uma varável de um objeto TForm pode estar, como por exemplo:
.
1-Var Form:TForm;
2-Form := TForm.Create(application)
3-Form.Free
4-Form := Nil
.
Dessas 4 opções como saber se ele se encaixa na opção 2?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)