Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: Bazooka en Febrero 09, 2013, 10:22:38 am

Título: El método Unload descarga totalmente el form de memoria
Publicado por: Bazooka en Febrero 09, 2013, 10:22:38 am
Hola tantos años programando y siempre surgen dudas!!!

Me paso que desde un MDI abro unos formularios no hijos!! y al iniciar la primera vez las variables Publicas que tiene ese form por supuestos estan vacias! ahora al cerrar el formulario con el metodo UNLOAD ME y volverlo a abrir las variables estan cargadas aún . Entiendo por que son publicas y estan dentro del form en la seccion General no?

Ahora lo solucione colocando en el evento unload asi:

Código: [Seleccionar]
Private Sub Form_Unload(Cancel As Integer)
Set Form1 = Nothing
End Sub

Es correcto esto?
 al menos funciona noté!
Título: Re:El método Unload descarga totalmente el form de memoria
Publicado por: cobein en Febrero 09, 2013, 11:13:37 am
Bazooka, es un problema bastante comun y molesto, porque normalmente se asume que al descargarlo se reinicia todo pero no es asi. Lo mas fiable es lo que haces vos en algun lado, ya sea en el MDI antes de cargarlo o en otro lado setear el form como nothing.

Título: Re:El método Unload descarga totalmente el form de memoria
Publicado por: Jeronimo en Febrero 09, 2013, 11:23:25 am
Me pasa lo mismo aun sin trabajar con MDI. Yo descargo las variables (las pongo en cero o vacías) en el evento QueryUnload del formulario. Pero a veces son muchas variables. Es mejor el método que sugiere Bazooka.
Muchas gracias.
Título: Re:El método Unload descarga totalmente el form de memoria
Publicado por: Bazooka en Febrero 09, 2013, 11:24:58 am
Bazooka, es un problema bastante comun y molesto, porque normalmente se asume que al descargarlo se reinicia todo pero no es asi. Lo mas fiable es lo que haces vos en algun lado, ya sea en el MDI antes de cargarlo o en otro lado setear el form como nothing.

Bárbaro Cobein me imagino que eso debe habar dado más que un dolor de cabeza por que supongo es un Bug o un comportamiento poco inteligente si fue contemplado para ser asi!!!

Gracias por reafirmar mi conocimiento!