¿Cómo puede un no modal aplicación VB6 hacer limpieza cuando la aplicación se está cerrando?

StackOverflow https://stackoverflow.com/questions/123688

Pregunta

Una aplicación VB6 es el uso de la Interoperabilidad de las Formas kit de herramientas para trabajar con los formularios que se escriben en .NET.La documentación del kit de herramientas aconseja llamar a un método en el kit de herramientas para asesorar a la caja de herramientas cuando el VB6 aplicación se está cerrando.

El VB6 aplicación utiliza un procedimiento Sub Main () que carga una pantalla de presentación, a continuación, muestra varios formularios no modales.Cuando el Principal se completa, la aplicación aún está en marcha.Cómo puede la aplicación detecta que no se está cerrando y llamar al método de limpieza en el kit de herramientas?

¿Fue útil?

Solución

En un módulo (probablemente el mismo que contiene Sub Main), crear un sub público (e.g AppCleanUp) que se mantenga la limpieza de código.

Agregar una clase al proyecto (por ejemplo,clsAppCleanup).En esta clase, agregue el código en el Class_Terminate controlador de eventos que se llama el sub que creó en el paso anterior.

En un módulo (probablemente el mismo que contiene Sub Main (), definir una variable de clsAppCleanup.

En Sub Main, crear una instancia de la clsAppCleanup.

Cuando la aplicación se está cerrando, El evento terminate en la clase hará que la limpieza de la ejecución de código.

Otros consejos

Ha sido un tiempo desde que escribí en VB6, pero si recuerdo correctamente, usted puede utilizar el evento Unload para llamar a su código de limpieza (es similar al evento de cierre en .net).También se puede comprobar que no existen otras formas en la aplicación VB6 aún en marcha

Crear un módulo que contiene un FormCount variable.Esta variable será compartida por todas las formas en su aplicación.Incremento de la FormCount variable en cada formulario Form_Initialize método.Decremento FormCount en cada formulario Form_Terminate método.Cuando FormCount cae a 0, usted puede notificar a su forma de kit de herramientas de las formas que han sido descargadas.

Usted no tiene que preocuparse acerca de los problemas multi-threading porque VB6 crea aplicaciones multihilo, por tanto, una forma de Inicializar (o Terminar) método de ejecución hasta su finalización antes de que cualquier otros de comenzar la ejecución.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top