FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Liberar el DataModule
Buenas a todos.
Tengo una duda sobre como liberar el módulo de datos. Tengo una ventana principal que llama a otra ventana. La segunda ventana en el evento onCreate crea un datamodule. Cuando a la segunda ventana la libero con el método free, también se libera el datamodule que había creado? Así creo la segunda ventana. Así creo el datamodule en el form FPuestos
Desde ya muchas gracias a todos por la ayuda. |
#2
|
||||
|
||||
Cita:
Cuando un objeto de clase derivada de TComponent (como lo es un formulario) es destruido, éste se encarga de destruir (liberar) también a todos los otros componentes que adueña. Sin entrar en detalles de metodologías, estilo o eficiencia, la implementación que haces es correcta. Solamente ten en cuenta que la variable dm seguirá "apuntando" al cadáver del módulo de datos cuando éste sea destruido como parte de la destrucción del segundo formulario. Si existe de tu parte el permiso para que alguna sección del programa acceda a esa variable sin que necesariamente exista ese segundo formulario, convendría entonces asignarle Nil en algún evento propicio de éste último, como OnDestroy. Espero haber ayudado. Al González. |
#3
|
||||
|
||||
Corríjeme si me equivoco, Al, pero lo que comentas puede ser suplido con FreeAndNil, no?
Código:
FPuestos:=TfrmPuestos.Create(self); try FPuestos.ShowModal; finally FreeAndNil( FPuestos ) end; |
#4
|
||||
|
||||
Cita:
En concreto, FreeAndNil es para liberar la instancia a la que apunta una variable y poner esa variable en blanco, y, dado este caso, la variable dm ya tendrá lo primero, pero no lo segundo (lo cual se puede hacer con un simple dm := Nil en el evento apropiado). Saludos. Al González. |
#5
|
||||
|
||||
Tienes razón, los "restos" de DM apuntará a lo que exista en el sitio al que apuntaba. No había comprendido bien la pregunta de Cañones.
|
#6
|
||||
|
||||
Cita:
Gracias Casimiro Notevi, por la colaboración. Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
datamodule | josi | Varios | 22 | 11-12-2008 08:07:42 |
Datamodule | Cecilio | Lazarus, FreePascal, Kylix, etc. | 3 | 14-09-2008 18:36:35 |
Datamodule | VRO | Firebird e Interbase | 2 | 13-07-2004 19:00:45 |
Visionar el DataModule. | kwan | Varios | 2 | 13-01-2004 22:43:47 |
datamodule | maruenda | Varios | 1 | 31-12-2003 18:24:21 |
|