Cita:
Empezado por Cañones
Cuando a la segunda ventana la libero con el método free, también se libera el datamodule que había creado?
|
Así es Cañones, ya que das a Self (el segundo formulario) como dueño de la instancia de módulo de datos que creas.
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.