Aquí podría ser tu PUBLICIDAD


Descargar un control COM cuando se trabaja en VB6 IDE

votos
31

Parte de mi trabajo diario es mantener y extender las aplicaciones heredadas de VB6. Un motor común está escrito en C / C ++ y VB6 usa estas funciones para mejorar el rendimiento.

Cuando se trata de programación asincrónica, una interfaz C no es suficiente y confiamos en los controles COM para disparar eventos a VB6.

Mi problema es que cuando registro el control en VB6, VB carga este control en la memoria y no lo descarga hasta que salga del IDE VB6. Como el control está cargado todo el tiempo, no puedo volver a compilarlo en VC6, porque el archivo DLL está bloqueado.

Una solución que encontré no es habilitar el control en VB sino usar el CreateObject()nombre completo de mi control. El problema entonces es que debo declarar mi control como un Objeto porque VB6 no sabe nada de la interfaz que estoy usando y no tengo acceso a IntelliSense, lo cual es un problema.

¿Alguna idea de cómo puedo decirle a VB6 que descargue los controles después de salir de la aplicación o directamente en el IDE?

Publicado el 02/08/2008 a las 12:52
fuente por usuario Vincent Robert
En otros idiomas...        العربية       

1 respuestas

votos
27

Estoy bastante seguro de que no hay una buena manera de forzar a VB6 a descargar el control.

Esto es lo que hago ... en lugar de ejecutar Visual C y Visual Basic lado a lado, ejecute VB6 en VC:

  1. Cargue VC
  2. Abra el proyecto que contiene sus objetos COM
  3. Editar, cambiar, etc.
  4. En VC, configure el Ejecutable de salida para que sea VB6.EXE con los argumentos apropiados de la línea de comandos para cargar el espacio de trabajo VB6
  5. Ahora solo presiona F5 para iniciar el IDE VB6 y carga tu proyecto VB6
  6. Cuando desee volver a cambiar el código COM, salga de VB6.EXE, realice los cambios y vuelva a presionar F5. Siempre que guarde su espacio de trabajo, VB6 recordará qué ventanas tenía abiertas y todas las configuraciones de su proyecto.

Ventajas de este método:

  • Puede establecer puntos de interrupción en el objeto COM y depurarlo utilizando un depurador de fuente completa
  • Felizmente puedes depurar en C y VB al mismo tiempo
  • Cada vez que se ejecuta VB6, siempre tiene la última versión de los DLL COM
Respondida el 20/08/2008 a las 04:58
fuente por usuario Joel Spolsky


Aquí podría ser tu PUBLICIDAD