Delphi - Cual instruccion libera realmente una forma

 
Vista:

Cual instruccion libera realmente una forma

Publicado por Adolf Rojas (3 intervenciones) el 20/04/2004 19:42:57
Buenas tardes:

He tenido problemas con la instruccion Free para liberar las formas de mi proyecto aqui hay un ejemplo:

Screen.Cursor := crHourGlass;
FmMantPuestos := TFmMantPuestos.Create(Self);
Screen.Cursor := crDefault;
FmMantPuestos.ShowModal();
FmMantPuestos.Free;

aparentemente de esta manera NO SE LIBERA REAILMENTE los componente de una forma, estuve leyendo en la ayuda y encontre las siguiente instruccion:

FmMantPuestos.RELEASE Destruyela forma y libera la memoria asociada.

tambien encontre este procedimiento:

FreeAndNil(FmMantPuestos) Libera la referencia a un objeto y reempleza la diferencia con NIL.

Gracias por sus comentarios.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cual instruccion libera realmente una forma

Publicado por Delfino (1216 intervenciones) el 20/04/2004 23:47:15
Te recomiendo q la liberacion la pones en el evento OnClose de la Form q quieres liberar de la siguiente forma:

Action := caFree;
FmMantPuestos := nil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cual instruccion libera realmente una forma

Publicado por nadie (43 intervenciones) el 21/04/2004 09:26:09
El código que pones es correcto.

Se me ocurre que tal vez no hayas eliminado el form FmMantPuestos de la lista de formularios auto-creados del proyecto. De ese modo, cuando la aplicación arranca, se crea una instancia y luego tú creas otra distinta pero, cuando la liberas llamando a Free, todavía tienes otra a la que no puedes acceder puesto que no tienes ninguna variable apuntándola.

Comprueba ese detalle.

Si haces lo que te dice Delfino, (Action := caFree en el OnClose), no necesitas llamar a Free después del ShowModal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar