Ver Mensaje Individual
  #2  
Antiguo 09-10-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Cañones Ver Mensaje
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.
Responder Con Cita