Estoy buscando las mejores prácticas en la construcción de múltiples proyectos visuales básicos (todos los dll). Tenemos múltiples proyectos, y nuestro producto final será un dll. Ahora, un proyecto usa 2 otros proyectos, y otro se refiere a otro proyecto. ¿Deberían los proyectos hacer referencia a los archivos vbp, o al dll? Si hacen referencia a archivos vbp, ¿cómo construir todos los proyectos?Cómo hacer desarrollo y construir en Visual Basic 6.0
Respuesta
A menos que esté gestionando específicamente las librerías de tipos externas de VB, debe utilizar referencias de proyecto. Si hace referencia a los archivos y modifica la interfaz pública de varias maneras, VB generará nuevos id para varias piezas en la biblioteca de tipos, lo que dará como resultado errores de tipo de desajuste.
Puede utilizar la configuración Preservar compatibilidad para ayudar a aliviar esto. Asegúrese de usar al menos nivel de proyecto (Si está haciendo COM + entonces querrá el binario basado en una versión ya compilada del dll)
En cuanto a la compilación, puede compilar un archivo de solución (desde hace mucho tiempo) ya que incluso tenía instalado Vb6, pero creo que eran archivos .vbg).
De vuelta en el día usamos Visual Build, y también Visual Make que admitió la compilación de los archivos de la solución.
Compila cada proyecto por separado comenzando en el nivel más bajo y ascendiendo por la cadena.
El gran problema de las compilaciones con VB6 generalmente se debe a problemas de compatibilidad. Los peores problemas de compatibilidad caso, la solución es más o menos le gusta esta
Build A (con A siendo la referencia de todos los demás)
Copiar A en el directorio de compatibilidad
Construir B que hacen referencia a un
B Copiar en el directorio de compatibilidad
Construir C que hace referencia a B y A Cop
y C en el directorio de compatibilidad.
y así sucesivamente.
Esto se debe a que las tablestablas de la DLL COM utilizan INCLUDE para agregar las tablestablas de los proyectos a los que hacen referencia. Puede ver los Type Libs de una DLL COM de VB6 utilizando la herramienta OLE View que viene con Visual Studio 6.0.
Muchas veces la adición de métodos o propiedades hará que la DLL no se pueda compilar porque el Método MS de configurar las Typelibs no las hace compatibles con binarios. Esto falla cuando la adición está permitida bajo las reglas de compatibilidad binaria.
La solución que funciona el 90% del tiempo es poner siempre la última versión de los archivos DLL referencia en el directorio de compatibilidad.
Una vez que tenga un buen conjunto, puede hacer que un generador automático lo use para construir el proyecto automáticamente.
Tenga en cuenta que este problema ocurre solo cuando agrega algo que las otras DLL hacen referencia y necesitan mantener la compatibilidad binaria.
Necesita un sistema para asegurarse de que todos tengan el conjunto correcto de DLL de compatibilidad para compilar.
Después de algunos años con VB6, nuestros proyectos tendían a estructurarse así:
Todo el origen del proyecto (proyecto y fuente) organizado en la carpeta de origen.
\ proyecto \
fuente \ proyecto \ source \ Project1 \
\ proyecto \ source \ project2 \
...
Todos los binarios (.dll y .exe) en una carpeta bin.
\ project \ bin \
Todos los archivos .dll configurados como binarios compatibles con el archivo resultante en el directorio de una sola bandeja.
Después construcción inicial para hacer el establo binarycomptible, cada proyecto de construcción no habría ruptura hacerse mediante el uso de un archivo de comandos sencilla build.cmd colocado en la carpeta por encima de la carpeta de origen, tal como esto:
"c: \ Archivos de programa \ Microsoft Visual Studio \ VB98 \ VB6.EXE "/ M. \ Source \ project1 \ proj1.vbp
" c: \ Archivos de programa \ Microsoft Visual Studio \ VB98 \ VB6.EXE "/ M. \ Source \ project2 \ proj2.vbp
"c: \ archivos de programa \ Microsoft Visual Studio \ VB98 \ VB6.exe"..../M \ source \ proyecto3 \ proj3.vbp
del \ bin \ * exp
del \ bin \ *. lib
El orden de compilación debe ser del orden de dependencia.
Siempre que ocurra un cambio de rotura, el proyecto de VB dependiente debe refrendarse al nuevo binario.
Sin romper los cambios, build.cmd por lo general hizo el trabajo.
- 1. Multithreading en Visual Basic 6.0
- 2. Visual Basic 6.0 Case Statement
- 3. Documentación del código de Visual Basic 6.0
- 4. Ejemplo de MySQL para Visual Basic 6.0 - leer/escribir
- 5. visual basic y vb.net
- 6. ¿Cómo puedo llamar a un método Visual Basic 6.0 en C#?
- 7. ¿Casting en Visual Basic?
- 8. ¿Por qué las enumeraciones de TypeLib no están expuestas como enumeraciones en Visual Basic 6.0?
- 9. ¿Cuál es el orden de precedencia del operador en Visual Basic 6.0?
- 10. Hex-Value en Visual Basic
- 11. Cómo usar un mutex en Visual Basic
- 12. Desarrollo de .Net Compact Framework en Windows Embedded CE 6.0
- 13. Visual Basic 6 y rutas UNC
- 14. Usando Git con Visual Source Safe 6.0
- 15. Redondeo de un número en Visual Basic
- 16. Dimensiones de la pantalla en Visual Basic
- 17. Cómo construir exe en Visual Studio C++
- 18. Función de suspensión Visual Basic
- 19. Equivalente de E y O de Visual Basic en C#?
- 20. ¿Cómo puedo repetir el alfabeto en Visual Basic?
- 21. Tamaño de la matriz en Visual Basic?
- 22. Compatibilidad de Visual Studio (6.0, 2003 y 2008) con Windows Vista 64-bit (x64)
- 23. C#, Visual Basic 6 y el tipo de datos decimal
- 24. ¿Cómo implementar el constructor de clase en Visual Basic?
- 25. Cómo guardar el punto de interrupción en Visual Basic 6
- 26. Las quines desaparecidas: Visual Basic (para Aplicaciones)
- 27. Manera simple de guardar y cargar datos Visual Basic
- 28. Visual Basic Loop y mostrar una línea a la vez
- 29. ¿Más fácil que Visual Basic 6?
- 30. Apertura de vbp Proyecto de Visual Basic