Ver Mensaje Individual
  #9  
Antiguo 16-06-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 24
Caro Va por buen camino
Hola tanaka_reina, si necesitas que se limpie todo al cerrar tu formulario, deberías seguir lo que te explico Dec. El codigo que te puso de ejemplo no debes colocarlo en el OnClose de tu formulario, sino en el momento en que llamas a tu formulario, ademas que debes quitar el formulario del AutoCreate, ya que tu lo crearas y lo liberaras cuando lo necesites.

Para quitar del AutoCreate (Project->Options->Forms).

Si estas haciendo la llamada a tu formulario con Show, haces lo siguiente, digamos que Form1 es el formulario de donde llamaras a Form2:

En Form1, donde llames a Form2

Código Delphi [-]
 Form2 := TForm2.Create(Self); //Creamos Form2
 Form2.Show;

Y en el evento OnClose de Form2:

Código Delphi [-]
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Action := caFree; //liberamos Form2
end;

Y si estas haciendo la llamada a tu formulario con ShowModal, colocas este codigo en el momento en que lo estas llamando.

Código Delphi [-]
 Form2 := TForm2.Create(Self); //Creamos Form2
 try
   Form2.ShowModal;
 finally
   Form2.Free; //Una vez que se cierra Form2, se libera
 end;

Pero si necesitas limpiar estando dentro de tu formulario, sin cerrarlo, debes hacerlo como te explica Lepe.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita