2011-09-01 15 views

回答

1

MFC連接宏不是特定於COleControl而是CCmdTarget。您可以使用DECLARE_CONNECTION_MAP/BEGIN_CONNECTION_MAP等as long as your class is derived from CCmdTarget,在這種情況下,COleDocument是。

推薦閱讀:

TN038: MFC/OLE IUnknown Implementation

Connpts.exe sample demonstrates how to implement connection points and connection point sinks in Visual C++

+0

我其實已經嘗試過,當我編譯,我碰到一個「錯誤C2440: '的static_cast':無法從「類CMyDoc轉換* 'to'class ATL :: _ ICPLocator <&struct _GUID const IID_IMyEventSink> *' 指向的類型無關;轉換需要reinterpret_cast,C風格的轉換或函數風格的轉換「 –

+0

發佈您的代碼...我沒有得到任何編譯VC2010中的錯誤。 –

+0

我現在設法使用本文中的建議來編譯我的代碼:但是,每當我嘗試時,都可以使用http://msdn.microsoft.com/en-us/library/41yhk4w0(v=vs.80).aspx建議一個接收器,我從AtlAdvise返回錯誤代碼0x80004002,這是E_NOINTERFACE。我試着按照這裏的建議:http://support.microsoft.com/kb/183216/en-us,但沒有成功。我只是想念一些東西?我的接收器接口是IDual,並且從我看到的可能有多個由對象實現的IDual接口。 –