Re: Connection points and aggregation
Thanks for the reply,
I still am a bit confused, I add the following line:
MainObject.h
BEGIN_COM_MAP(MainObject )
COM_INTERFACE_ENTRY(IMainObject )
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY_AGGREGATE( __uuidof(AggObject), mpoAggregation.p)
COM_INTERFACE_ENTRY_AGGREGATE( __uuidof(IConnectionPointContainer),
mpoAggregation.p)
END_COM_MAP()
idl file
[
uuid(917DCC4C-2E52-4E9F-9FEF-420277FA139D),
helpstring("ATRTranslator Class")
]
coclass ATRTranslator
{
[default] interface IMainObject ;
[source] interface IAggObject;
[source] interface IConnectionPointContainer;
};
Now when I launch my application, the AtlAdvise return S_OK, but I
still can't catch my event.
class ATL_NO_VTABLE CCTUpdateLang :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CCTUpdateLang, &CLSID_CTUpdateLang>,
public IDispatchImpl<ICTUpdateLang, &IID_ICTUpdateLang,
&LIBID_CTViewerLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
public IDispEventImpl<1, CCTUpdateLang, &DIID__IAggObjectEvents,
&LIBID_ATRInterfaceLib, 1, 0>
{
public:
CCTUpdateLang()
{
}
CComPtr<IUnknown> m_Object;
DECLARE_REGISTRY_RESOURCEID(IDR_CTUPDATELANG)
BEGIN_COM_MAP(CCTUpdateLang)
COM_INTERFACE_ENTRY(ICTUpdateLang)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY_IID(DIID__IIAggObjectEvents, IDispatch)
END_COM_MAP()
public:
BEGIN_SINK_MAP(CCTUpdateLang)
SINK_ENTRY_EX(1,DIID__IIAggObjectEvents, 0x1, OnFire)
END_SINK_MAP()
..... };
I am quite sure the the COM_INTERFACE_ENTRY_AGGREGATE I add is wrong.
How can I be sure that I select the good
connection point.
Thanks you for your help.
Barnab=E9
On Nov 6, 3:10 pm, "Igor Tandetnik" <itandet...@mvps.org> wrote:
"Barnab=E9" <eric.fr...@gmail.com> wrote in messagenews:1162794340.698892=
..302280@e3g2000cwe.googlegroups.com
I just check how to expose my inner IConnectionPointContainer on the
web, I could not find any clue.
can you guide me on that one?The same way you expose any other interfac=
e from the inner object - by
putting COM_INTERFACE_ENTRY_AGGREGATE into your COM map.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925