Dev - C++ - Como hacer una herencia entre dos objetos ATL/COM

 
Vista:

Como hacer una herencia entre dos objetos ATL/COM

Publicado por Seb (2 intervenciones) el 27/06/2002 21:09:31
Hola,

Estoy desarrollando una dll en Visual C++ utilizando ATL/COM.
Tengo dos clases A y B y sus interfaces respectivas iA y iB, digamos.
Quiero que haya una herencia entre B y A (that B inherits of A).
El codigo automaticamente producido por Visual C++ cuando se le añade un objeto ATL es lo siguiente (por la clase B por ejemplo en el archivo B.h):
The code automaticly generated in the B.h file
class ATL_NO_VTABLE CB :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CB, &CLSID_B>,
public IDispatchImpl<IB, &IID_IB, &LIBID_TEST16Lib>

Yo traté de anadir aqui mismo la herencia de A imitando mas o menos lo que estaba echo:
class ATL_NO_VTABLE CB : public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CB, &CLSID_B>,
public IDispatchImpl<IB, &IID_IB, &LIBID_TEST16Lib>,
public CComCoClass<CB, &CLSID_B>,
public CComCoClass<CA, &CLSID_A>

tambien, supongo que tengo que anadir una linea en el codigo, un poco mas a bajo:
BEGIN_COM_MAP(CB)
COM_INTERFACE_ENTRY(IB)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
pero no se que?
de todas formas, creo que he probado todo,.. alguien ya habria hecho eso?
Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder