Scripting::IDictionary** のパラメーターを持つメンバーを含む必要がある ATL プロジェクトにインターフェイスがありますが、スクリプト ライブラリが既定のライブラリに表示されないため、インターフェイスの説明を含む MIDL ファイルでは使用できません。私は常に scrrun.tlb を持っていて、MIDL で使用しようとしていますが、うまくいきません
コードはこちら: midl-code
以下を IDL に追加します。
importlib("scrrun.dll");
その後、使用できますIDictionary
。
XP以上で動作します。
以下は、私の IDL の一部の抜粋です。
import "oaidl.idl";
import "ocidl.idl";
library FooLib
{
importlib("stdole2.tlb");
importlib("scrrun.dll");
[
uuid(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX),
helpstring("_FooLibEvents Interface")
]
dispinterface _IFooEvents
{
properties:
methods:
[id(1)] void AnEvent(IDictionary* dict);
};
...
}