Visual Basic - Destrucción de objetos y salir de la aplicación

Life is soft - evento anual de software empresarial
 
Vista:

Destrucción de objetos y salir de la aplicación

Publicado por Javier (4 intervenciones) el 19/10/2007 11:32:20
Hola,
tengo una aplicación con una jerarquía de clases muy grande, en la que incluso objetos de una DLL contienen como hijos a clases de otras DLL (estas librerías son propias).

Al cerrar la aplicación la destrucción de ésta puede durar entorno a los 10 MINUTOS.
Incluso hay ocasiones en las que se genera un error y se aborta la ejecución del programa durante el proceso de salida.

Alguién podría decirme como puedo solventar la salida del programa sin errores y sobre todo, como puedo salir de la aplicación de forma rápida? hay alguna manera de hacerlo haya los objetos que haya en memoria?

un saludo y 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:Destrucción de objetos y salir de la aplicación

Publicado por Jhon Alexander (58 intervenciones) el 21/10/2007 04:54:30
Hola Javier,
Recuerda los estados de los objetos en COM.
Crear, instanciar, utilizar y destruir.

Siempre que utilices objetos destruyelos despues de utilizarlos, esto con el fin de que la apliación no tenga tantos objetos en memoria, a y no lo hagas la instancias automaticas, ejemplo:

En un módulo declara las variables del tipo objeto a utilzar
Dim Obj1 as NombreClase1
Dim Obj2 as NombreClase2
Dim Obj3 as NombreClase3

Cuando necesite utilizar la referencia a dicho objetos aslo de la siguiente forma:

Set Obj1 as new NombreClase1

Obj1.Metodo(Páramtro1,Párametro2)

Lo más importante despues de utiliar la referencia al objeto no olvides destruirlo de memoria

Set Obj1= Nothing

Es una muy buena practica de programar ya que COM no cuenta con el Garbage Collector de .Net

Saludos desde Colombia.
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

RE:Destrucción de objetos y salir de la aplicación

Publicado por Javier (4 intervenciones) el 22/10/2007 08:19:37
Hola Jhon,
en primer lugar gracias por tu contestación.

Continuando con la cuestión de los objetos, la destrucción la realizo en todos los puntos del programa, pero se da la circunstancia de que en la jerarquía de clases existen múltiples referencias circulares que hacen que los eventos "Terminate" de las clases no se ejecuten.

Además en el proceso de salida de la aplicación hay ocasiones en las que salta un error. ESto es, se está cerrando la aplicación y cuando lleva unos minutos en background destruyendo objetos, de repente aparece un error del programa y una pantalla de Windows diciendo que la aplicación no responde y que se tiene que cerrar.

Hay alguna posibilidad de llevar a cabo este proceso de cierre sin estar tanto tiempo ? y ya de paso, sabes de la existencia de algún programa que me pueda mostrar el estado de la memoria en cada momento y por aplicación?

gracias,
un saludo,
Javier.
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