Visual Basic - AYUDA!!!!

Life is soft - evento anual de software empresarial
 
Vista:

AYUDA!!!!

Publicado por SouL (38 intervenciones) el 07/06/2001 06:22:18
no se que sucede, lo que pasa en que cuando cierro el programa, parace que lo cerro.......desaparece todo ...... pero el proceso sigue activo y lo tengo que cerrar con un matat procesos un programa aparte.
alguien sabe que sucede?
gracias
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:AYUDA!!!!

Publicado por MARTIN {^_^} (116 intervenciones) el 07/06/2001 07:25:02
Una solucion es que desde el form1 o de inicio declares los formularios que vas a abrir desde alli, en la seccion declaraciones escribes:

dim form2 as new form2

Así cuando cierres el form2 éste se descargará de memoria.

Otra causa puede ser los objetos que usas en tu programa, éstos también hay que descargarlos, de eso no me acuerdo mucho pero sé que se hace con la función NOTHING, lee acerca de ella.

saludos.
<fin de texto>

Martín tiene razón, en cuanto a la atención que hay que presatr al cerrar formularios.
Tné en cuenta que si desde Form1 -> abris Form2, al cerrar Form2 con un Uload Me , se desencadena el evento Unload y QueryUnload, pero no Terminate, por cuanto la aplicación sigue en curso.
Después si en algún momento del Form1, haces referencia a una instancia del Form2, (Ej. If Form2.Caption o Form2.Label1.Enabled = false) lamentablmente estás reviviendo esa instancia y queda cargado en memoria pero no se muestra. Ello provoca que cuando vos cerrás el Form1, el Form2 sigue abierto, por lo que el Terminate no se desencadena nunca.
Las secuencias para terminar son Unload, QueryUnload. Terminate.
Con el Depurador, poné puntos de interrupción y seguí la secuencia de cierre.
Cuando cierres forms después del unload poné Set FormX = Nothing
de esa manera se borran de memoria todas las instancias de ese form.
Si usas OCX de terceros, tené en cuenta que puede ser que sus controles no se decarguen y por lo tanto mantengan tu aplicación en curso.
Una práctica non santa de algunos programadores es usar la sentencia End, para descargar toda la aplicación, de una manera tan te
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