Fórum Como saber se um determinado Form foi criado ? #191512
29/10/2003
0
Qual é a idéia?
Para trabalhar sem ocupar a memória inutilmente eu crio os Forms à medida que necessito e descarto após o seu uso com o método FREE. Porém para isto eu necessito abri-los em MODAL, senão o programa passa para a próxima linha e já aciona o FREE, e não consigo fazer mais nada.
E queria abrir os forms sem ser Modal, o que me permitiria abrir outros mesmo que um determinado forma já estivesse aberto. Porém para poder fechar os já fora de uso, precisava verificar de tempos em tempos se ainda estão ativos.
O método ACTIVE retorna ERRO se o form ainda não foi criado.
Alguém tem uma solução?
Senão vou ter que criar um controle paralelo para verificar quando os forms foram acionados e fechados.
Obrigado por qualquer opinião.
Marconi
Marconi
Curtir tópico
+ 0Posts
29/10/2003
Marcelo Saviski
use FreeAndNil(Form) para libera-los da memoria ao invés de Form.Free;
Gostei + 0
29/10/2003
Moonlight
if Form1 = nil then (Nao está criado!)
else (Está criado!)
Gostei + 0
30/10/2003
Luizfernando777
faz o seguinte,
if Form2 = nil then
begin
try
Form2 := TForm2.Create(Self);
Form2.Show;
except
Form2.Release;
end;
end
else
begin
Form2.Show;
end;
no evento OnClose do Form
coloque
Form2 := nil;
Action := caFree;
qdo vc for destruir um Formulário
criado não use o Form.Free;
e sim o Form.Release;
é a forma mais correta de destruir o formulário
Gostei + 0
30/10/2003
Beppe
Ataliba
Gostei + 0
30/10/2003
Marconi
O problema foi resolvido a contento.
Todas as dicas funcionaram perfeitamente.
Cordialmente
Marconi
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)