WEB开发网
开发学院软件开发VC COM 组件设计与应用(六)——用 ATL 写第一个组件(... 阅读

COM 组件设计与应用(六)——用 ATL 写第一个组件(vc.net)

 2006-07-22 22:56:14 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 一、前言1、与 《COM 组件设计与应用(五)》的内容基本一致,但本回讲解的是在 vc.net 2003 下的使用方法,COM 组件设计与应用(六)——用 ATL 写第一个组件(vc.net),即使你不再使用vc6.0,也请和上一回的内容,如果没有MFC的支持,那CString怎么办呀

本文示例源代码或素材下载

一、前言

1、与 《COM 组件设计与应用(五)》的内容基本一致。但本回讲解的是在 vc.net 2003 下的使用方法,即使你不再使用vc6.0,也请和上一回的内容,参照比对。

2、这第一个组件,除了所有 COM 组件必须的 IUnknown 接口外,我们再实现一个自己定义的接口 IFun,它有两个函数: Add()完成两个数值的加法,Cat()完成两个字符串的连接。

3、下面......好好听讲! 开始了:-)

二、建立 ATL 工程

步骤2.1:建立一个解决方案。

步骤2.2:在 该解决方案中,新建一个 vc++ 的 ATL 项目。示例程序叫 Simple2,并选择DLL方式,见图一、图二。

图一、新建 ATL 项目

图二、选择非属性化的DLL组件类型

属性化 属性化编程,是未来的方向,但我们现在先不要选它。

动态链接库(DLL) 选择它。

可执行文件(EXE) 以后再讲。

服务(EXE) 表示建立一个系统服务组件程序,系统启动后就会加载并执行的程序。

允许合并代理/存根(stub)代码 选择该项表示把“代理/存根”代码合并到组件程序中,否则需要单独编译,单独注册代理存根程序。代理/存根,这个是什么概念?还记得我们在上回书中介绍的吗?当调用者调用进程外或远程组件功能的时候,其实是代理/存根负责数据交换的。关于代理/存根的具体变成和操作,以后再说啦......

支持 MFC 除非有特殊的原因,我们写 ATL 程序,最好不要选择该项。你可能会说,如果没有MFC的支持,那CString怎么办呀?告诉你个秘密吧,一般人我都不告诉他,我后半辈子就靠着这个秘密活着了:

1 2 3 4  下一页

Tags:COM 组件 设计

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接