Ver Mensaje Individual
  #2  
Antiguo 26-03-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Reputación: 21
marto Va por buen camino
Wop!

Destroy es el destructor del objeto, Free es un método de TObject que comprueba que la referencia No apunte a nil:

Cita:
Empezado por System.pas
procedure TObject.Free;
begin
if Self <> nil then
Destroy;
end;
Se desaconseja el uso de Destroy, ya que no tiene el control de Free.

Existen dos maneras (por lo menos) de destruir un formulario. Form.Free y programar el evento OnClose, asignando al parametro Action el valor caFree.

Respecto a lo que comentas que te pasa con los forms MDI, te pego un trozo del help de delphi, en la página que explica el evento OnClose:

Cita:
Empezado por Delphi'help
If a form is an MDI child form, and its BorderIcons property is biMinimize, then the default Action is caMinimize. If a MDI child form does not have these settings, the default Action is caNone, meaning that nothing happens when the user attempts to close the form.
Para finalizar, lo que comentas de los errores... no sé, ¿puede ser que los destriuyas en más de un sitio? ¿que accedas a la variable despues de destruirla?¿Que apliques los dos métodos antes mencionados sobre el mismo form? Si nos das más datos seguro que te podemos ayudar más...
__________________
E pur si muove
Responder Con Cita