No cabe la menor duda, que uno de nuestros trabajos mas desagradables es entender y resolver problemas de interaccion entre aplicaciones diseñadas y desarrolladas con diferentes tecnologias.
No hace mucho me toco ¡perder toda una mañana! Intentando interactuar con un ‘Component Object Model’ desarrollado en VB6. Referenciar e instanciar el objeto esta claro que fue muy sencillo… sin embargo las sonrisas se iniciaron al intercambiar informacion entre ambos :
Los tipos no coinciden. (Excepción de HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))
Originalmente utilizaba typos ‘variant’ en .NET ‘object’, estaba tan convencido de que todo estaba bien que incluso no quise buscar ninguna solucion en la ‘base de conocimiento’ ni en la ayuda… dale que te pego, hasta darme cuenta!!
Por defecto cualquier al crear un nuevo proyecto en el ‘AssemblyInfo’ nos crea una entrada que por defecto!… POR DIOS!! … es ‘False’. Se trata de saber que esa entrada, exactamente esa entrada debe estar en ‘True’ para disponer de la funcionalidad que requiere mi proyecto.
Mi disgusto viene despues de andar cuatro horas detrás de todo esto para entender que ademas de continuar siendo un novato despues de 30 años, mi torpeza tampoco mejora!
Espero que algun que otro sufridor con este problema, localice informacion en menos tiempo que yo.<Assembly: ComVisible(False)> ‘POR DEFECTO (CON ERROR)
<Assembly: ComVisible(True)> ‘La SOLUCION!
o Bien Seleccionando la opcion ‘Crear ensamblado visible a traves de COM’ en la ‘Informacion del Ensamblado’
Como siempre las cosas mas evidentes son las que nos quitan el sueño y nos hacen perder la mayor parte de nuestro preciado tiempo.
Saludotes!
Pep Lluis,