【发布时间】:2011-10-25 11:06:32
【问题描述】:
为了了解接口,我正在尝试编写一个测试项目来实现 IDispatch 接口。 到目前为止,我已经:
- 在 Visual Studio 2010 中创建了一个 MFC dll 项目
-
写了下面的IDL
[ uuid(68B0FAE7-3828-415D-94B0-720A007311FF), version(1.0) ] library Test { importlib("stdole32.tlb"); importlib("stdole2.tlb"); [ uuid(DD35D282-ABEF-4411-B3D1-B4FD848516A5) ] interface _Test : IDispatch { }; };
创建了一个名为 Test.h 的 C 头文件,但我想知道如何声明它与 IDL 链接。任何帮助或你好世界教程都会很棒。谢谢
【问题讨论】:
-
创建 .idl 文件后,您需要使用 MIDL 编译器创建对应的头文件和代理文件。
-
Test.h 是 IDL 文件的产物。连同类型库和代理/存根代码,可选。现在您需要真正实现接口的方法。这需要先添加一些。您将 IDispatch 实现留给普通实现,例如 ATL 的 IDispatchImpl。
标签: c++ visual-studio-2010 com interface