Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Liberar memoria al cerrar un child. (https://www.clubdelphi.com/foros/showthread.php?t=9846)

Bahamut 04-05-2004 07:02:44

Liberar memoria al cerrar un child.
 
Tengo una preguntilla... se libera la memoria automaticamente al cerrar una ventana hija usando "FormCloseQuery(Sender: TObject; var CanClose: Boolean)" cuando defino CanClose:=True?

Lo digo porque he usado "FormClose(Sender: TObject; var Action: TCloseAction);" y he comprobado que al usar "Action:=CaFree" se libera la memoria del MDI Child, pero no estoy seguro si el close query la libera porque simplemente usa "canclose" pero no usa la variable "cafree".

DarkByte 04-05-2004 08:48:57

Cita:

Empezado por Bahamut
Tengo una preguntilla... se libera la memoria automaticamente al cerrar una ventana hija usando "FormCloseQuery(Sender: TObject; var CanClose: Boolean)" cuando defino CanClose:=True?

Si no me equivoco (aunque seguramente sí), el poner CanClose como True sólo hace que pueda cerrar el form, pero no lo cierra en sí

jachguate 04-05-2004 08:58:51

Creo que no tenes muy claro cual es la secuencia para cerrar un form.

El evento OnCloseQuery se dispara, y si al terminar la Variable CanClose vale true, se procede a "cerrar" el formulario. Cerrar, significa intentar hacer invisible el formulario (lo cual no es posible con MDIChild), pero no liberará ninguna memoria. Al momento de cerrar el formulario, se dispara el Evento OnClose.

Si el parámetro Action es cambiado a caFree, entonces si se destruye el formulario al momento de cerrarlo, lo que conlleva la liberación de memoria ocupada por el formulario y todos los demás objetos para los que éste sea el propietario.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 12:09:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi