Ver Mensaje Individual
  #3  
Antiguo 25-11-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
El método completo:

Tenemos una ventana mdiChild que se llama form1 y su clase es Tform1.

En el OnClose de esa ventana ponemos:
Código Delphi [-]
 Action := cafree;
 form1 := nil;

Cuando queramos saber si hay una ventana abierta:
Código Delphi [-]
if Assigned(form1) then
  // abierta
else
  // no está creada la ventana.

Para crear la ventana Form1, hay varias formas, la que más me gusta es:
Código Delphi [-]
  Form1 := TForm1.Create(nil);
Fíjate en el parámetro "nil", eso quiere decir que nadie se va a encargar de liberar la ventana, porque al cerrarse, ya se lo hemos dicho (Action := cafree).

Si necesitas saber de qué tipo es la ventana abierta en un determinado momento, siempre puedes comparar así:
Código Delphi [-]
if mdiChildcount > 0 then
if ActiveMdiChild.Classname =  'TForm1' then
  // es el form1
else
  // no lo es

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita