Objectos COM con ATL

03/08/2005 - 17:55 por Angel Traversi | Informe spam
Hola a todos

Tengo intenciones de desarrollar objetos COM con ATL y nunca lo hice. Hasta
ahora los he desarrollado con herramientas de Borland y la idea es pasarme a
Visual C++.
Uno de los requerimientos a cumplir es que los objetos no implementen
IDispatch y que no tengan typelibrary. Los motivos:
- se usan siempre Inproc. No hay necesidaad ni interes en usarlos outofproc
o remotos.
- el código que usa los objetos esta escrito también C++ y nunca se usarán
desde VB o java
- IDispatch hace que la interface sea pública y se conozcan los métodos,
interfaces, etc y esto atenta contra el secreto industrial de la empresa
donde trabajo.

La pregunta es: puedo crear objetos usando ATL que no implementen IDispatch
ni usen typelibrary ?
Conocen ejemplos o links referidos a este tema ?
 

Leer las respuestas

#1 Isidro Muñoz
03/08/2005 - 19:50 | Informe spam
Hola Angel,

Que yo sepa si puedes hacer componentes COM con ATL sin IDispatch, en el
wizard lo deseleccionas y punto.
Que no usen typelibrary, creo que eso tienes que putearlo ( valga la
expresion ), yo creo que por defecto el compilador usando ATL te empotra la
type library en el componente, realmente si vas a trabajar sin usar
IDispatch y sabes los CLSID y los IID no necesitas la typelibrary. Teniendo
el .tlb o los .c y .h generados no necesitas conocer la typelibrary.

¿ alguien puede confirmar si en ATL la typelibrary va siempre empotrado en
el fichero, y para quitarla hay que luego retocar el fichero ?

Saludos
Isidro.


"Angel Traversi" escribió en el
mensaje news:
Hola a todos

Tengo intenciones de desarrollar objetos COM con ATL y nunca lo hice.


Hasta
ahora los he desarrollado con herramientas de Borland y la idea es pasarme


a
Visual C++.
Uno de los requerimientos a cumplir es que los objetos no implementen
IDispatch y que no tengan typelibrary. Los motivos:
- se usan siempre Inproc. No hay necesidaad ni interes en usarlos


outofproc
o remotos.
- el código que usa los objetos esta escrito también C++ y nunca se


usarán
desde VB o java
- IDispatch hace que la interface sea pública y se conozcan los métodos,
interfaces, etc y esto atenta contra el secreto industrial de la empresa
donde trabajo.

La pregunta es: puedo crear objetos usando ATL que no implementen


IDispatch
ni usen typelibrary ?
Conocen ejemplos o links referidos a este tema ?

Preguntas similares