Fórum Como saber se um form já foi criado? #349459
22/11/2007
0
trabalho da seguinte forma:
Form := TForm.Create(self)
tem como saber se essa linha já foi executada, ou melhor se o form já foi criado?
Luiz_aquino
Curtir tópico
+ 0Posts
22/11/2007
Vispo
if Form <> NIL then begin Showmessage(´O Form já foi criado!´); end;
Gostei + 0
22/11/2007
Abadia
Se vc tem pleno controle da variável que aponta para o TForm vc pode verificar se ela é nil, porem vc tem que certificar-se que ao destruir o formulário coloque nil na variável.
Outro modo é verificar se a variável encontra-se na lista de formulários mantida por Screen. Isto pode ser feito da seguinte forma:
var
I: Integer;
FormCreated: Boolean;
begin
FormCreated := False;
for I := 0 to Screen.CustomFormCount -1 do
if Screen.CustomForms[I] = Form then
begin
FormCreated := True;
Break;
end;
end;
Onde Form é o nome da variável de seu formulário e FormCreated o resultado de sua procura.
Gostei + 0
23/11/2007
Eniorm
if Form <> NIL then begin Showmessage(´O Form já foi criado!´); end;
isso só funciona se vc fazer assim na hora de liberar o form da memoria
form.Release; form := Nil; // ou form.Release; FreeAndNil(form)
do contrario não será válido o if form <> nil
Gostei + 0
23/11/2007
Rodc
if Assigned(Form1) then begin Showmessage(´O Form já foi criado!´); end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)