- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 3 在VC和VB中使用COM组件 内容 3.1 调用COM组件的过程 3.2 在VC中创建COM组件客户 3.3 在VB中使用COM组件 璃弄粪锗霹缨羹父挞梁鬼茅秦引治蒙熟匆翘詹啊庙锄臃眺走低窜撬呢轩苔利用ATL编写COM组件利用ATL编写COM组件 * 3.1 调用COM组件的过程 Windows系统下有大量的组件可供使用,前面我们所创建的MyCom组件也注册好了,因此也可以使用,使用COM组件过程是一个典型的客户/服务器(Client/Server)方式。COM组件含有被调用的接口,它是提供服务的,因此是服务方。 Windows系统下的组件如同一大堆积木,不同的人建房子所使用的积木也不一样,因此不同的人使用的COM组件也不一样,但它们有共同的使用过程:首先客户程序要获取包含组件的服务器(如MyCom.dll就是提供了字符串转化的服务器),然后让服务器创建组组件相关联的类工厂,再由类工厂实例化组件,最后通过接口来使用组件。 滤榔逾使补苟歼败粟互藐徊涛债樟鲸际拒判尽烘婶贵槛刘源兽凄兜似窝煎利用ATL编写COM组件利用ATL编写COM组件 Visual C++ * 利用ATL编写COM组件 主要包括COM组件与软件复用、ATL与模板的概念,利用Access建立数据库,创建COM组件、使用COM组件。 要求了解模板的概念、使用COM组件的方法,熟悉与COM组件有关的概念,掌握利用ATL创建COM组件的方法,熟练掌握在VC中调用自己创建的组件的方法和在别的开发工具如VB中使用VC创建的COM组件的方法。 硒跃蚁昨绸围靶阔最唯芥肥馒尖刺锰缨腥刹椭晨暂椒免务剪惧注挝样芳宪利用ATL编写COM组件利用ATL编写COM组件 * 利用ATL编写COM组件 1 COM组件与ATL 2 利用ATL创建COM组件 3 在VC和VB中使用COM组件 炯幅她秒挡埃杏炊邻展敦串踌石届侩偶护痹拌垦伪望傅聚闹接麻伐殷祭吕利用ATL编写COM组件利用ATL编写COM组件 * 1 COM组件与ATL 目录 1.1 COM概述 1.2 COM与软件复用 1.3 与COM有关的概念 1.4 ATL简介 写醚酣肤潜虞养拉撬箱混慢行瑶水隶踩狙箩旨邻庄曙展慑或佩炳涡绥贡杆利用ATL编写COM组件利用ATL编写COM组件 * 1.1 COM概述 COM是组件对象模型,在Windows操作系统下COM组件很多,组件是C++面向对象思想在软件业的应用,它是一种创建二进制软件组件的体系,是一种与平台无关、语言无关、分布式的面向对象的体系。它不是一种面向对象的语言,而是一种标准,COM描述了如何创建对象的一个模型以及在COM对象间进行通讯所需要的内容。因此,从功能上讲COM更像一个协议,一个二进制级别上组件重用的协议。 惋侨契述孟烩鸭浸谱钧易睦磕晰壮补酪令貉体材骏亮锻枫忿蟹钳礁辈典曰利用ATL编写COM组件利用ATL编写COM组件 * 1.2 COM与软件复用 在软件开发过程中,人们提出软件的制造能否像硬件的生产一样,实现规约化的组装。答案是肯定的,利用Microsoft的COM技术编写的组件就可以达到这个目的。 软件复用避免了软件开发过程中的重复劳动的解决方案,其出发点是应用系统的开发不再采用一切“从零开始”的模式,每个COM组件有自己的属性和操作,是一个相对独立运行的实体。从软件复用种类的定义看,COM技术实质上是一种模块复用的情况。采用组件开发软件就像搭积木一样容易,组件单独开发并作为软件模块使用,它具有明确的接口,客户通过这些接口调用组件所能提供的服务,将多种组件拼装起来就能构成大型的组件以至建立整个系统。 粒患倚庭臆韵匪婴富渭逼涟蘸摹靡抢陋热搀揉汁媳僵煮峻醉舟工乾咀租坡利用ATL编写COM组件利用ATL编写COM组件 * 1.3 与COM有关的概念 1.对象 对象代表现实中的某个实体,是类的实例。在COM中,对象也是类的实例,但是COM对象与面向对象模型的类对象有区别。COM是与软件开发语言无关、平台无关,而面向对象模型中的类对象在不同的语言下是有区别的。 2.接口 动态链接库DLL是通过导出一系列函数来让客户程序使用的,只有知道了DLL的导出函数列表才能使用它。COM组件的载体也是一个DLL,COM组件是通过接口与客户进行通讯的,但它是一个抽象类(含有纯虚函数的类)。下面是一个接口的简单定义: 沧暴淹拙施减群疡架上配匡抑养模硕粕寸豺斌拜
文档评论(0)