2011-02-06 14 views
3

がIDispatchの由来であり、それは、このようなAPIに渡すことができるクラスを作成する簡単な方法は、(これはC++である)があります:ATLで匿名IDispatch関数を作成する方法は?

pDOM2->attachEvent(CComBSTR("event"), new DispatchFunction); 

私が呼び出しを扱うC++オブジェクトを作成する方法を知っています値0のdispidを使用していますが、すべてのIDispatchを手作業で実装するのは少し面倒です。私はそれがかなり一般的なので、ATLにそれを行ういくつかの標準的な方法があるかどうか疑問に思っていました。

答えて

2

デフォルトでは、ATLは「自動デュアル」COMクラスを作成します。初期バインディング IDispatchの両方をサポートしています。 IDispatchImpl <が継承リストに表示されます。あなたはIDLでdispidを宣言します。特別な作業は必要ありません。

+0

あなたはそうです、私はいつもサポートがあるのか​​疑問に思っていました。実際、私はそれを見ずに必要なものすべてを知っていました。ありがとう。 –