は、私は、COM techonlogyとコールバックインターフェイスを実装しようとそのようIDLを持っている:MIDL。 idlにメソッドを追加した後にコールバックC++インターフェイスが更新されないのはなぜですか?
library LogstreamScannerLib
{
importlib("stdole2.tlb");
[
uuid(8CACF064-EF0E-4496-92D5-F26C64A5858A)
]
dispinterface _IMyClassEvents
{
properties:
methods:
[id(1)] void SomeMethod([in] int data);
};
[
uuid(AFC03FCD-01A9-4F38-994F-BA98E57FF64E)
]
coclass MyComClass
{
[default] interface IMyClass;
[default, source] dispinterface _IMyClassEvents;
};
};
注意してくださいは、IMyClassは宣言をのsomeMethodましたが、私の自動クラスときに生成され、それが表示されない理由を私は理解できません私はプロジェクトを再コンパイル/再構築します。
常に空のように宣言です:
MIDL_INTERFACE("8CACF064-EF0E-4496-92D5-F26C64A5858A")
_IMyClassEvents : public IDispatch
{
};
私がここで間違って何?
ありがとう、@シェーン!私はその記事を読んだが、私はすべてのことを正しくしたように見える。ウィザードで接続ポイントにメソッドを追加しようとすると、MIDLファイルに表示する必要があると言われました。 MIDLインターフェイスはそのままです –
正直言って、VS IDEを使ってIDLファイルを変更することはありません。手動で編集するだけです...もっと簡単です。 –