作者 主題: 請問 IDispatchImpl 的參數問題  (閱讀 1948 次)

0 會員 與 1 訪客 正在閱讀本文。

kuolung

  • 俺是博士!
  • *****
  • 文章數: 1031
    • 檢視個人資料
    • http://www.kuolung.net
請問 IDispatchImpl 的參數問題
« 於: 2013-01-18 13:09 »
請問大大,我有一個 COM 物件要繼承 IDispatchImpl
所以我宣告如下

class ATL_NO_VTABLE CRTDUpdateEvent :
   public IRTDUpdateEvent,
   public CComObjectRootEx<CComMultiThreadModel>,
   public IDispatchImpl<IRTDUpdateEvent, &IID_IRTDUpdateEvent, &LIBID_RTDServerLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
};


我不了解的是 , 我有宣告 IID_IRTDUpdateEvent ,但 VS 一直給我一個錯誤訊息,沒有辦法通過編譯

其中 &IID_IRTDUpdateEvent , &LIBID_RTDServerLib 都有這個訊息,不知該如何解

Error: 樣板引數不可參考非外部實體

ps : 我以上的宣告方式是參考 msdn 上的 IDispatchImpl  的說明,網址如下 :

http://msdn.microsoft.com/en-us/library/494h01te.aspx
=========================
http://www.kuolung.net
==========================

kuolung

  • 俺是博士!
  • *****
  • 文章數: 1031
    • 檢視個人資料
    • http://www.kuolung.net
Re: 請問 IDispatchImpl 的參數問題
« 回覆 #1 於: 2013-01-28 09:19 »
都沒有人回䨱,只好我自已回了

最後的宣告改為

public IDispatchImpl<IRTDUpdateEvent, &__uuidof(IRTDUpdateEvent), &__uuidof(__RTDServerLib), /*wMajor =*/ 1, /*wMinor =*/ 0>

就可以了,至於為什麼,還在了解中
=========================
http://www.kuolung.net
==========================