Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Duda con MDIForm (https://www.clubdelphi.com/foros/showthread.php?t=16945)

ronson 17-12-2004 09:27:57

Duda con MDIForm
 
Muy buenas, en primer lugar quiero agradeceros de antemano la atención. Resulta que tengo una ventana MDIChild, y me gustaria saber como puedo hacer para que cuando la cierre no se minimize, no se uqe pasa que cuando pulso el aspa para cerrarla, esta en lugar de cerrarse se minimiza.



Saludos a todos.

Neftali [Germán.Estévez] 17-12-2004 10:04:37

Prueba a colocar en el OnClose:
Código Delphi [-]
  Action := caFree;

ronson 17-12-2004 11:43:49

Casi me vale
 
Muicha gracias, al menos desaparece, pero queda cargado en memoria, no habria uqe hacer un form.Destroy, se puede hacer un destroy desde el propio formulario que se quiere destruir?.


saludos!

jzk 17-12-2004 12:04:57

Si el formulario lo generas de manera dinámica y no lo tienes definido en el Autocreate, puedes hacer al final de la llamada Formaux.Free.

Quedando :

Código:

Application.CreateForm(TFaux, Ffaux);
with  Ffaux do Begin
        ShowModal;
        Free;
End;

Espero que te sirva

Neftali [Germán.Estévez] 17-12-2004 13:15:32

Cita:

Empezado por ronson
...al menos desaparece, pero queda cargado en memoria, no habria uqe hacer un form.Destroy, se puede hacer un destroy desde el propio formulario que se quiere destruir?.

Desaparece y se destruye,o al menos eso debería hacer.

Código Delphi [-]
Action := caFree;
Debería destruirlo.

Código Delphi [-]
Action := caHide;
Debería sólo ocultarlo.

Lepe 17-12-2004 13:47:04

Cita:

Empezado por ronson
al menos desaparece, pero queda cargado en memoria

¿como deduces que queda cargado?

Si te has fijado por el administrador de tareas de windows, lo que está ocurriendo es que windows no libera la memoria asociada a nuestro proceso, aunque nuestro proceso haya dicho que no la quiere más. para ver exactamente que si se libera, usa la funcion de LiberaMemoria de Ians Marteens (buscala por el foro)

Para comprobar que se ha liberado correctamente, intenta acceder a ese formulario hijo despues de usar caFree, obtendrás una bonita violación de acceso (por tanto, está bien tu programa).


Observación para Neftali: Un mdiChild no puede ocultarse.

Neftali [Germán.Estévez] 17-12-2004 15:29:30

Cita:

Empezado por Lepe
Observación para Neftali: Un mdiChild no puede ocultarse.

Cierto, un fallo de memoria (en éste caso de la mía). Gracias por la aclaración.


La franja horaria es GMT +2. Ahora son las 16:44:29.

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