创建ATL COM工程及对象类指南

需积分: 3 2 下载量 90 浏览量 更新于2024-09-13 收藏 1.27MB DOC 举报
"COM实验指导" 本实验主要涵盖了创建和配置 ATL 工程,以及添加 ATL 对象类以实现COM组件的基础知识。COM(Component Object Model)是微软提出的一种组件编程模型,它允许不同语言和操作系统环境下的软件组件进行交互。 首先,我们来看看如何建立一个ATL工程。创建ATL工程的步骤包括: 1. 建立一个工作区(WorkSpace),这是开发环境的基础,用于管理多个项目。 2. 在工作区中新建一个ATL工程,命名为“SimpleCom”。选择DLL方式作为项目的输出类型。DLL(Dynamic Link Library)使得多个应用程序可以共享同一份代码,减少内存占用。 在创建工程时,有几种不同的选项可供选择: - DynamicLinkLibrary (DLL): 创建DLL组件程序,可以在多个进程中使用。 - Executable (EXE): 创建EXE组件程序,独立运行的应用程序。 - Service (EXE): 创建服务程序,系统启动时自动运行。 - Allow merging of proxy/stub code: 合并代理/存根代码,方便组件间的通信。 - Support MFC: 支持MFC(Microsoft Foundation Classes),提供C++的面向对象框架。 - Support MTS: 支持事务处理,即支持COM+功能,提供更高级的组件服务。 接下来,我们增加ATL对象类。在这个实验中,选择了“Insert” -> “New ATL Object” -> “Object分类” -> “SimpleObject”来创建一个基础的COM对象。这个过程允许我们定义对象的接口和行为。 在增加自定义类如CMath(实现IMath接口)的过程中,我们需要指定类的名称和接口属性。例如: - 接口属性包括ThreadingModel,可以选择单线程或多线程模型,以确定组件如何处理并发访问。 - Interface类型可以是Dual或Custom,Dual支持自动化接口,便于VB等脚本语言调用。 - Aggregation选项决定组件是否能被其他对象聚合,即包含在其他对象中。 - SupportISupportErrorInfo用于启用错误信息处理,提供详细的错误描述。 - SupportConnPoints表示组件是否支持连接点,允许其他对象订阅其事件。 通过这些设置,我们可以创建出一个简单的计算组件,例如IMath接口包含了Add、Cat和MulMul等方法,分别用于执行加法、字符串拼接和乘法操作。这些接口方法可以供其他应用程序调用,实现跨进程的通信和功能复用。 实验中涉及的技术点还包括ActiveX控件、数据库类组件以及辅助杂类组件,这些都是COM技术的扩展应用。通过实验,学生将对COM组件的创建、接口设计、属性设置有深入的理解,并能够动手构建自己的COM组件,为实际项目开发打下坚实的基础。