Ayuda con tlbimp

13/09/2005 - 14:25 por fede | Informe spam
Hola todos: Cuando intento importar una dll con el tlbimp me devuelve un
error que dice tipo de libreria no valido. Lo que necesito hacer el
transformar mi dll en una dll Com, pero no se si hay que tener algo en cuenta
a la hora de implementar la clase ¿Alguna sugerencia?

Preguntas similare

Leer las respuestas

#6 fede
15/09/2005 - 17:44 | Informe spam
Funciono de 10 !!!, Muchas Gracias.

"José Miguel Torres" escribió:

SI, si que se puede, de hecho es otra alternativa. La pregunta es ¿cual es
la diferencia? a continuación hago un 'pegar' de un trozo de texto del MSDN
Library que lo explica.

*****************************************************************************************
PRECAUCIÓN Si se usa la interfaz de clase en lugar de definir una
interfaz propia de manera explícita, el control de las futuras versiones de
la clase administrada puede ser más complicado. Antes de usar la interfaz de
clase lea las instrucciones siguientes.
Defina una interfaz explícita para que la usen los clientes COM en lugar de
generar la interfaz de clase.

Como la interoperabilidad COM genera una interfaz de clase automáticamente,
los cambios en versiones posteriores de la clase pueden modificar el diseño
de la interfaz de clase expuesta por Common Language Runtime. Puesto que los
clientes COM no están preparados normalmente para controlar cambios en el
diseño de una interfaz, se interrumpen si se cambia el diseño de miembro de
la clase.

Esta instrucción enfatiza la idea de que las interfaces expuestas a los
clientes COM no se deben modificar. Para reducir el riesgo de que los
clientes COM se interrumpan por volver a ordenar involuntariamente el diseño
de interfaz, aísle del diseño de interfaz todos los cambios que se hagan en
la clase definiendo las interfaces de manera explícita.
**************************************************************************************

Para crear la interface explicita no tienes que tener en cuenta nada
extraordinario, sencillamente crea la interface, haz que tu clase 'herede'
de la interface y vigila con los contexto publicos y privados.

Dime a ver si te sale, saludos


José Miguel Torres
jtorres_diaz~~ARROBA~~terra.es
http://jmtorres.blogspot.com





"fede" escribió en el mensaje
news:
> ¿No se podria utilizar una interface por defecto, utilizando
> [ClassInterface(ClassInterfaceType.AutoDual)] en la declaracion de la
> clase?,
> sino, si eso es lo que estoy haciendo mal, que debería tener en cuenta
> para
> crear la interface explicitamente. ()
>
> "José Miguel Torres" escribió:
>
>> Si has echo lo de la interface y utilizas el tlbexp como te indiqué
>> antes,
>> te funcionará, si no es así, dime donde falla.
>>
>> saludos
>>
>>
>> José Miguel Torres
>> jtorres_diaz~~ARROBA~~terra.es
>> http://jmtorres.blogspot.com
>> "fede" escribió en el mensaje
>> news:
>> > Esta clase que quiero convertir en Com implementa una interface hecha
>> > en
>> > C#,
>> > lo que necesito saber es si debo agregarle algun tipo de encabezado con
>> > atributos o cualquier cosa para que me funcione en Com
>> >
>> > "José Miguel Torres" escribió:
>> >
>> >> Hola,
>> >> debes utilizar tlbexp así:
>> >>
>> >> C:\tlbexp dlldotNET.dll /out:dlldotNET.tlb
>> >> luego registrala
>> >> C:egasm /tlb:dlldotNET.tlb dlldotNET.dll
>> >> instalal en el GAC
>> >> C:\gacutil.exe /i dlldotNET.dll
>> >> para tener acceso en un contexto a todos los posibles clientes, sino
>> >> saltate
>> >> este paso y copia el tlb en la carpeta de tu proyecto p.e. VB6.0
>> >>
>> >> Recuerda implementar una interface publica, si no no será visible
>> >> desde
>> >> tu
>> >> cliente COM.
>> >>
>> >> Si la utilizas desde VB6.0 agrega en referencias el archivo resultante
>> >> tlb.
>> >>
>> >> espero haberte ayudado
>> >>
>> >> saludos
>> >>
>> >>
>> >> José Miguel Torres
>> >> jtorres_diaz~~ARROBA~~terra.es
>> >> http://jmtorres.blogspot.com
>> >>
>> >> "fede" escribió en el mensaje
>> >> news:
>> >> > Hola todos: Cuando intento importar una dll con el tlbimp me
>> >> > devuelve
>> >> > un
>> >> > error que dice tipo de libreria no valido. Lo que necesito hacer el
>> >> > transformar mi dll en una dll Com, pero no se si hay que tener algo
>> >> > en
>> >> > cuenta
>> >> > a la hora de implementar la clase ¿Alguna sugerencia?
>> >>
>> >>
>> >>
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida