设为首页 加入收藏

TOP

ATL简介(三)
2012-11-04 15:22:13 来源: 作者: 【 】 浏览:1066
Tags:ATL 简介
  三. ATL基本使用

  这一部分将重点介绍ATL的基本使用过程。由于ATL已经被集成在Microsoft Visulal Studio的Visual C++(www.cppentry.com)开发环境中,因此要使用ATL必须先安装Visual C++(www.cppentry.com)。在下面的讨论中有关COM的基本知识请参阅有关的文档,这里不再详细说明。给出的图是在Microsoft Windows 98平台下Visual Studio 6.0的使用示意图。

  使用ATL开发一个COM应用基本可以分为以下几个步骤:

  创建一个新的ATL工程,并对工程的选项进行适当的配置。

  向新创建的工程添加新的ATL类,并对该类进行一些初始配置工作。

  根据COM应用的基本要求向新的ATL类加入新的接口定义,并实现相应的接口成员函数。

  编译连接工程,注册COM应用。

  下面将根据这些步骤依次介绍ATL的基本使用过程。

  1. 创建工程

  首先启动Visual C++(www.cppentry.com)集成开发环境,选择“File”菜单下的“New...”命令,在“New”对话框中选择“Project”页,如图1所示。


图1 创建新工程界面示意图

  选择“ATL COM AppWizard”项,这是创建ATL工程的AppWizard向导入口。然后在“Project name”编辑框中输入工程的名字,单击“OK”按钮,进入AppWizard对话框。如图2所示。


图2 ATL COM AppWizard对话框示意图

  在AppWizard对话框中主要的设置选项有:

  COM服务程序的类型:

   - 动态连接库(Dynamic Linking Library) 最终产生一个动态连接库(DLL)形式的COM服务程序;

   - 应用程序(Executable application)最终产生一个可执行程序类型(EXE)的COM服务程序;

   - NT服务(NT Service):产生一个以NT服务方式运行的COM服务程序。

  允许嵌入Proxy/Stub代码。由Microsoft提供的MIDL编译IDL文件以后,将产生用于对象调度(Marshaling)的Proxy/Stub的代码。传统地,这部分代码与COM服务程序的代码是分离的,但是由于新的COM标准支持多线程环境下的COM对象服务,因此在动态连接库的COM服务程序中也要有Proxy/Stub的支持。为了支持在网络上的传输,ATL允许用户选择将Proxy/Stub的代码包括在生成的DLL代码中。这个选项在EXE和NT服务类型的COM应用条件下不可选。

  允许支持MFC。由于ATL对除COM以外的基本的Windows编程(www.cppentry.com)方面的支持极为有限,同时许多程序员对MFC又非常熟悉,因此在ATL的工程设置中允许在ATL工程内部支持使用MFC,即可以使用MFC定义的类。这在一方面来看是非常方便的,特别是对于习惯于使用MFC的开发人员来说,能够使用MFC提供的各种功能强大的类的支持,而不必直接使用Windows SDK。从另一个方面来看,在ATL工程中使用MFC同时就丧失了ATL代码轻量级的特点。

  支持MTS。MTS是Microsoft Transaction Server的缩写,它是Microsoft在COM技术方面的一个新的分支,这里不作详细说明。

  完成上面的设置以后,可以选择FINISH完成工程的设置,ATL将创建相应的工程。

首页 上一页 1 2 3 4 5 6 下一页 尾页 3/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇共享内存实现进程间大数据的交换 下一篇COM编程技术基础之二

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: