![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Pues de la primera respuesta... con assigned(puntero) verificas si la variable apunta a una dirección de memoria distinta de nil, con lo que podes facilmente averiguar si un formulario (o cualquier otra instancia de una clase) está creada. Esto se basa, por supuesto, en la teoría que siempre que liberes un objeto, asignarás nil a cualquier variable que le apunte...
Esto es: Form1.Free; Form1 := nil; Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#2
|
|||
|
|||
|
Exactamente
if not Assigned(FClients) then // El form no esta creado Begin // Asi lo crearia // FClients := TFClients.Create(Application); // O hago lo que quiero // Si quiero lo enseño // FClients.Show; end else Begin // Como esta creado si quiero lo enseño // FClients.Show; // O hago lo que quiera end; Es mas directo ja que controla si la variable FClients que apunta al formulario no esta a nil Lo unico que tienes que hacer cada vez que cierres el formulario y quieras liberarlo poner la variable FClients a nil // En Formulario Clientes procedure TFClients.FormClose(Sender: TObject; var Action: TCloseAction); begin FClients.Free; FClients := nil; end;
__________________
Gabriel |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|