Notas sobre la compatibilidad en componentes ActiveX.

 

Nota del 01/Jul/2000 sobre la COMPATIBILIDAD BINARIA: (revisado el 28/Feb/2004)



 

Notas sobre la compatibilidad en componentes ActiveX.
----------------------------------------------------------

Para no romper la compatibilidad de versiones:

  • Al crear la librer�a (DLL) la primera vez: hacerlo con compatibilidad de proyecto.

  • Hacer una copia de la DLL creada y renombrarla (esto no es obligatorio, pero recomendable),
    por ejemplo con la extensi�n .dlc o .cmp (yo uso esta �ltima)

  • Al crear nuevas versiones, con nuevas propiedades y m�todos, 
    hacerlo con compatibilidad binaria, apuntando a la copia creada con la nueva extensi�n.
    De esta forma, los programas compilados anteriormente siguen funcionando con la nueva DLL.

  • Copiar la nueva DLL con la extensi�n usada en la compatibilidad binaria.
    La copia creada con la nueva extensi�n, ser� siempre la �ltima versi�n distribuida de la DLL

  • En muy importante que siempre que distribuyamos una DLL, aunque se hayan hecho cambios m�nimos que no rompan la compatibilidad binaria con la anterior, hagamos una copia para usarla como "base" de la compatibilidad binaria, (con la extensi�n .cmp).
    De esta forma, siempre tendremos la DLL distribuida como base de compatibilidad binaria.
    Si no tenemos en cuenta este "peque�o" detalle, al distribuir la nueva DLL nos encontraremos con el error de que "no puede crear el componente ActiveX" y por tanto "romperemos" la compatibilidad binaria y tendremos que generar nuevamente los ejecutables que utilicen nuestro componente ActiveX.
     

Todo esto es necesario para que se conserven las interfaces anteriores y las nuevas.
Los programas anteriores usar�n la interface antigua y los nuevos la nueva.
Si se modifica demasiado la DLL al final el registro estar� "abarrotado" de interfaces de 
nuestra DLL... as� que si se pretende hacer un cambio "brusco", lo recomendable es crear una
nueva DLL con una versi�n diferente, pero de esta forma los programas anteriores no funcionar�n
con la nueva DLL... habr�a que volver a compilarlos.

 

En resumen: Hacer una copia de la �ltima DLL distribuida y usarla para la compatibilidad binaria, (antes yo la hac�a con la original y as� me ha ido... en fin...)


ir al índice