COM组件技术的应用.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
COM组件技术的应用   摘要:COM的全名为Component Object Model。COM是一种协议,它建立了一个软件模块同另一个软件模块之间的连接,它是许多新的Microsoft ActiveX技术的基础,它现在成了Microsoft Windows整体的一部分。不久之后,大多数的Windows编程都会涉及到COM。两个模块之间就可以通过称为“接口”的机制来进行通讯。这些接口既不需要静态的或动态的连接入口点,也不需要编码很复杂的地址,这和那些胜于启动通讯过程的一般COM函数有所不同。我们可以利用它的特性做一些应用。   关键词:COM;OLE;自动化   中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)07-1718-02   组件可以分为进程内组件和进程外组件两类。进程内组件运行效率较高,以DLL(动态链接库)的形式出现。进程外组件的运行效率相对较低,但是进程外组件可以被远程调用。当外部程序与组件不在同一台机器,甚至不在同一个网络,都可以调用进程外组件。进程外组件以EXE(可执行程序)的形式出现。Office自动化,JavaScript,Google Earth属于进程组件的范畴。文章将具体讨论进程外组件的应用。   1 Office自动化   Office自动化应用又叫“OLE自动化”,基于COM(组件对象模型)的一项技术。这项技术可以嵌入到应用程序中,根据需要导出大量采集的数据并生成各类图表。使用它可以带来非常大的方便,用户根本不需要了解office,就能使用Excel,Word,PowerPoint的各种功能。   Office自动化应用包含客户端和服务器。客户端连接服务器才能够使用服务器提供功能。从概念上可以知道,客户端就是应用程序,服务器就是Office办公软件。   所有的Microsoft Office应用程序都有自己的脚本语言。这就可以在应用程序中用来实现一些我们想完成的一切功能。这种脚本语言就是VBA(Microsoft Visual Basic for Applications)。VBA程序组或宏的功能其实跟Office自动化应用从外部实现是一样的。所以可以把VBA翻译成我们编写客户端的语言来实现自动化。   1) Office对象模型   Microsoft Office程序使用可编程的对象集合来给外部使用。每一个内容单元和功能在Office中都是一个可编程测试和控制的对象。工作簿,文档,表格,单元格和段落都是对象的Microsoft Office提供的对象。   2) 对象,方法,属性   Microsoft Office程序每一个对象的层次结构就像家庭树一样。这个结构被称之为对象模型。每个对象模型都有一个至高无上的对象,用来派生其它对象。一般这样的对象代表程序的本身,取名为Application对象。Application对象拥有自己的子对象。   为了让我们更清楚地了解层次结构。你可以看一下Microsoft Excel提供的对象。图1显示了Excel对象部分层次结构。   可见Excel对象的最高级别对象就是Application。Application有两个子对象:工作簿集(Workbooks),工具栏集(CommandBars)。这两个对象也包含其它的对象。Workbooks包含多个工作簿(Workbook),CommandBars包含多个工具栏(CommandBar)。Workbook包括两个子对象,工作表集(Worksheets)和图表集(Charts)。Worksheet又包括范围(Range)和形式集(Shapes)。这样的列表还会继续延续,但这已经能够帮你理解对象模型的层次结构。理解对象之间的关系是自动化技术应用的基础。   一个对象本身是不能做任何事情。你需要使用对象提供方法和属性。属性是一种用来设置和获取对象特性的功能。方法是一种用来实现对象特有的一些功能。   从Excel对象模型可以看出什么是方法和属性。Range对象代表工作表中的一个或多个单元格所占区域。Range包含一些属性:内容,数字格式,字体。这些属性可以用Range的性能来操作。此外还有一些方法来操作Range:Select方法,delete方法,Copy方法。   在Visual Basic中,你需要使用一个对象,必须从最高级对象开始。   2 JavaScript   C++与JavaScript的相互通信需要用到IDispatch接口,IDispatch是自动化的核心。它也完全被COM调度(marshaling)所支持,同时MFC库也能很好地支持它。从组件一方来看,我们需要有一个具有IDispatch接口(当然,还要有必要的类厂)的

您可能关注的文档

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档