ACDUAL 示例:向自动化应用程序添加双重接口(C++ 示例)
更新:2007 年 11 月
ACDUAL 演示了如何使用本机编译器 COM 支持向基于 MFC 的自动化应用程序添加双重接口支持。有关更多信息,请参见 MFC ACDUAL 示例。
安全说明: |
---|
提供该示例代码是为了阐释一个概念,并不代表着最安全的编码实践,因此不应在应用程序或网站中使用该示例代码。对于超出本示例代码的预期用途以外的使用所造成的偶然或继发性损失,Microsoft 不承担任何责任。 |
获取示例和安装示例的说明:
在 Visual Studio 的“帮助”菜单上,单击“示例”。
有关更多信息,请参见定位示例文件。
示例的最新版本和完整列表可以从 Visual Studio 2008 Samples page(Visual Studio 2008 示例页面)联机获取。
还可以在计算机的硬盘上查找示例。默认情况下,将示例和自述文件复制到 \Program Files\Visual Studio 9.0\Samples\ 下的文件夹中。对于 Visual Studio 速成版,所有示例都位于联机位置。
生成并运行示例
生成并运行此示例
打开解决方案 acdual.sln。
在“生成”菜单上,单击“生成解决方案”。
将 acdual 设置为启动项目(右击该项目节点,然后单击“设为启动项目”),然后单击“启动”按钮。Acdual 将注册自身(否则该客户端项目无法运行)。在继续操作之前关闭 acdual 应用程序。
将 autodriv 设置为启动项目,然后运行它。使用“AutoClik 测试驱动器”对话框修改“ACDual Aclick”窗口中的输出。
与 MFC 版本的比较
此示例和同名 MFC 示例的区别在于:
COleDispatchDriver 类不再是必需的。而是使用 #import 导入类型库。
_bstr_t 和 _variant_t 包装类用于简化 BSTR 和 VARIANT 类型的操作。
__declspec(property) 用于简化 COM 对象属性的赋值操作。
现在,COM 错误是使用 _com_error 类处理的。
使用 Visual C++ 本机编译器 COM 支持,产生的示例代码更简短、更高效。基于 MFC 的 ACDUAL 示例只使用双重接口和调度接口。将此示例与 MFC 版本相比较,找出源代码的差异。
关键字
此示例说明以下关键字:
dispinterface、#import、_com_ptr_t、_variant_t、_bstr_t、_com_error