首页计算机书籍计算机语言《学用VisualC++6.0开发ActiveX模板库》N.沃伦斯
白诺

文档

207

关注

0

好评

0
PDF

《学用VisualC++6.0开发ActiveX模板库》N.沃伦斯

阅读 869 下载 0 大小 21.7M 总页数 316 页 2022-11-23 分享
价格:¥ 10.00
下载文档
/ 316
全屏查看
《学用VisualC++6.0开发ActiveX模板库》N.沃伦斯
还有 316 页未读 ,您可以 继续阅读 或 下载文档
1、本文档共计 316 页,下载后文档不带www.pdfdz.com水印,支持完整阅读内容。
2、古籍基本都为PDF扫描版,所以文档不支持编辑功能,即不支持文档内文字的复制粘贴。
3、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
4、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
5、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。
在开始使用ATL(ActiveX Template Library)编写CoM(Component Object Model)服务器之前,你需要很好地了解什么是COM?它是如何工作的?它为什么如此重要?这一章将为你提供所有这样的信息,在整个过程中该信息将使你加快了解COM、Autotion、ActiveX后面的背景和基本技术(如果你已经熟悉COM、Autotion、ActiveX,可直接进入第二章。)。§1-1什么是COM?COM是对象组件模型的简称,是由微软公司开发的,允许应用程序在终端用户计算机上运行时共享数据和程序代码。最初它是一个允许像Word、Excl之类的程序相互显示对方文件的有限系统,如今它已是Windows操作系统的核心技术。IE4.0、Internet信息服务器、微软事务服务器、活动服务器页面和通用数据存取仅是微软全部或部分依赖COM技术的当前版本的一部分。COM是编写可被别的应用程序使用的应用程序所必须遵守的规范。该规范详细提供编译器如何输出要进行通信的应用程序的可执行文件,操作系统如何支持该通信的详细情况。此方法的好处之一就是允许COM独立于语言甚至独立于平台,以便用VB编写的COM应用程序能容易地和由Java或C++编写的应用程序一起工作。既然COM代表组件对象模型,可想而知它多少会涉及到对象这个概念。COM提供面向对象编程的六个关键特征:■标识:每个COM组件必须与别的COM组件区别开来,这个功能由GUD来完成。■状态:COM组件必须用某种方法跟踪自己的状态值的变化。COM组件至少应有自己的使用次数以及许多保存为内部数据的数据信息。■行为:COM组件必须提供一些方法以实现某些标准的和习惯的功能,这些方法由接口完成。■封装:COM组件使用的内部数据和功能必须对它的用户是隐蔽的,用户只能以黑盒方式使用。既然COM仅支持函数以及它们的名字、参数,COM就能很好地支持封装。所有COM组件的内部函数和数据对用户来说是完全不可得的。■继承:一个COM组件可由另一个COM组件衍生而来,可以使用祖先组件的函数,同时还可以添加自己的函数。COM用特殊的方式支持继承性。■多态性:任何两个实现同一交互功能的COM组件可以交换使用。COM完全支持这种能力。COM术语中的组件概念是这一技术的主要推动力。尽管最初COM被认为是微软应用程序相互显示和编辑数据的一种方法,COM如今已成为生成可重用应用程序的主要技术。这种结果从某种程度上说是因为Internet的出现,它为组件软件提供了一个崭新而且令人意想不到的市场。微软总裁比尔·盖茨早就是“组件软件”的提倡者,他把此视为由终端用户从许多小的“applets”、或组件产生的应用程序。从某种程度上说设计COM是为了推动这一策略的实现。§1-2COM是怎样产生的?cOM不是单独发展起来的,它是随着对象连接嵌入系统(OLE)而出现在Windows3.0中。众所周知,OLE1允许两个应用程序(如Word和Excel)中的某一个程序直接显示另一程序中的数据,而无须用户再打开后一程序。尽管当时这一点令人激动,但OLE1有两个严格的限制:嵌入数据不能在包含它的文档中编辑;没有存储嵌入数据的标准体系。0LE1的限制促使微软开发OLE2,它被认为是一个名字而不是一个缩写词。OLE2随着Windows3.1发行。OLE2是第一个真正的COM技术,因为当OLE1发行时还没有COM规范,而OLE1使用不同的技术。OLE2产生一种叫做复合文档的全新而且独特的数据形式,它将来自任意多个OLE支持的应用程序的信息存储在一个文件中,同时支持编辑、修改、打印所有信息。尽管OLE2相对于OLE1前进了一大步,但它仍然有自己的限制,最引人注目的就是每当编辑一个所需的嵌入数据元素时需要打开一个新窗口。这就促使开发OLE的下一代版本,即所谓的OLE Autotion,此项技术允许在应用程序内部数据嵌入的地方进行编辑(所谓的原位编辑),但也在OLE2上对COM的执行功能增加了二个重要改进:提供从像VB之类的非C++应用开发环境到COM服务器的路径,同时提供生成存在于复合文档环境之外基于COM的组件能力。Autotion在Windows3.l1中开始得到支持。最近一次的增强注定要对COM产生最持久的影响,因为盖茨先生对组件软件的梦想随着COM的OLE版本的出现还没有实现。相反,通过一个非常令人意想不到的技术VBX控件而变成了现实。VBX控件是VB开发环境的附带产品,首先在C+中出现,然后在VB中出现。它允许VB编程人员创建常见的列表框或打印机实用工具之类的有用软件元素,对只为别的编程人员重用而编写的二进制文件进行分类。但是VBX控件没有在COM中实现,尽管它很快就要用于C++,这个交叉系统仍然存在问题。这时Borland发行了它的突破性的Delphi产品,具有被称做VCL控件的私有可重用二进制组件的特性。COM研制组成功地开发了基于COM原则而不是基于私有原则的可重用控件,这样OCX控件就加入了COM阵营,很快得到C++、VB、Delphi的支持,并且看起来达到了COM技术的巅峰,因为它终于达到了在二进制级别上实现可重用组件软件的目的。接着Java和Internet出现了。正如无人预料到西班牙宗教法庭的出现一样,同样无人预料到Java或Internet的出现,尤其是WWW突如其来地登上计算机舞台。微软2
返回顶部