• Lunes 23 de Diciembre de 2024, 00:26

Autor Tema:  Aplicaciones Con Multiples Archivos  (Leído 787 veces)

Chanito

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Aplicaciones Con Multiples Archivos
« en: Martes 10 de Febrero de 2004, 01:03 »
0
Hola;

Quisiera realizar una Aplicacion que tenga varias librerias o varios archivos que lo formen, es decir si actulizo la aplicacion no quiero cambiar el ejecutable solo una parte de el que se encuentre en un archivo fuera del ejecutable, ya intente con DLL pero si actualizo el DLL me aparece un mensaje de que no lo puede abrir, o como hacer que si cambio el DLL no tenga que volver a registrar el DLL

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Aplicaciones Con Multiples Archivos
« Respuesta #1 en: Martes 10 de Febrero de 2004, 09:47 »
0
Hola Chanito.

Esta es la cruz de la programación con componentes y VB...

En las propiedades del proyecto fíjate que hay un apartado que habla de Compatibilidad de la versión

Citar
Compatibilidad de la versión
Le permite establecer el nivel de compatibilidad de las versiones.

Sin compatibilidad: no se fuerza la compatibilidad.

Compatibilidad del proyecto: si selecciona esta opción, se activará el cuadro Ubicación, que le permite buscar el archivo con el que será compatible este proyecto. Si no la selecciona, el cuadro Ubicación no estará disponible.
En el caso de todos los tipos de proyecto ActiveX, la opción Compatibilidad del proyecto está seleccionada de forma predeterminada.

Compatibilidad binaria: es muy útil para mantener la compatibilidad entre los proyectos que se han compilado con este componente.

Ubicación de archivo: muestra el nombre y la ubicación del archivo con el que será compatible el proyecto. Puede escribir un nombre y una ubicación o utilizar el botón Examinar para mostrar el cuadro de diálogo Componente compatible ActiveX, donde puede buscar el archivo.

Por supuesto esta compatibilidad tiene un límite... si cambias el nombre de propiedades o métodos, por ejemplo, está claro que no hay compatibilidad que valga.

Una opción que suelo utilizar frecuentemente es no utilizar referencias a librerías ActiveX. En lugar de esto, utilizo variables de objeto que inicializo mediante CreateObject. Esto funciona perfectamente (a no ser que cambie el nombre de las clases ,del proyecto si califico la clase, o algún miembro de la clase). La desventaja es que no puedes declarar las variables 'WithEvents', con lo que falla un tema importante. Otro detalle es que en tiempo de diseño no dispones de la lista de los miembros del objeto. Este inconveniente no es tal, ya que puedes diseñar todo el proyecto con una referencia y las variables de objetos declaradas como del tipo correspondiente, y antes de compilar, eliminas las referencias, declaras los objetos como object, y listo.
Eso sí, si tienes previsto migrar tus aplicaciones a .NET, esta técnica te va a complicar la migración...

Suelo,como complemento o alternativa a lo anterior, utilizar un pequeño programa que se llama al iniciar la aplicación y al terminarla,  que registra y desregistra los componentes que necesito a partir de un archivo con una lista de componentes y comprueba la disponibilidad de otras referencias que le especifique.

Suerte.