- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ActiveXScripting技术介绍
ActiveX Scripting技术介绍
吕思伟 潘爱民
北京大学计算机科学技术研究所
【摘要】本文首先介绍了ActiveX Scripting技术的背景,然后讲述了ActiveX Scripting技术的结构和实现,并通过实例说明了如何为一个应用程序加上脚本特性的过程。
关键字:ActiveX Scripting、Automation、OLE、COM
ActiveX Scripting技术是Microsoft 的ActiveX技术的一个组成部分,它主要目的是使应用程序在不被修改的情况下,为各种脚本语言所控制。在软件交互性不断提高的今天,仅仅提供菜单或工具箱的界面已经不能满足用户的需要了,软件的可定制特性已经成为当今软件的一项基本特征,尤其对于一些通用的软件更为如此。大家比较熟悉的Microsoft Office软件,比如Word字处理软件,它不仅提供了界面的任意定制,还提供了方便的Basic语言的可编程特性,用户可以通过编写BASIC语言实现较为复杂的功能扩充。
Micosoft提供的ActiveX Scripting技术可使软件扩充变得非常简单,软件开发商利用脚本引擎(Script Engine)支持脚本语言的解释和执行操作,而软件用户可以根据需要编写自己的脚本代码,交由软件处理,对于用户来说,就好象自己在编写程序控制应用程序,以完成自己所期望的功能。而应用软件并不需要自己去解释执行用户的脚本代码,只要利用脚本引擎就可以很方便地实现对用户脚本语言的支持。应用系统也可以利用这种技术来提供二次开发的特性。
虽然脚本引擎提供了脚本语言的解释执行的功能,但要用好ActiveX Scripting技术则需要对它有一个全面的了解,本文将对ActiveX Scripting技术作一探讨,并给出一个具体例子,以使读者进一步理解ActiveX Scripting技术。
一 ActiveX Scripting背景
ActiveX Scripting是Microsoft 的Automation技术和Script技术结合的产物,因此,在介绍ActiveX Scripting之前,首先我们来看看Automation和Script两种技术的发展情况。
Automation技术是Microsoft OLE技术 的一部分,它可使解释性的宏语言(主要是Visual Basic)能够在不了解应用程序的实现细节的情况下控制Automation对象,随着Visual Basic软件的发展以及Microsoft Office套件的广泛应用,Automation技术已经成为连接这些应用或者工具的纽带。而且,更多的应用把这种宏语言作为自己应用扩展的手段,例如Word、Access以及Notes都把BASIC类语言作为其开发语言,并且这些BASIC类语言均支持Automation对象;另一方面,Internet浏览器也提供了脚本引擎,可用于解释网络页面脚本语言中的Automation对象。所有这些应用能够得以不断发展,在很大程度上是因为这些BASIC语言或脚本语言提供了对Automation的支持。
Automation技术以COM(组件对象模型)为基础,所有的Automation对象都实现了标准的IDispatch接口,通过IDispatch接口暴露对象的属性和方法,以便在客户程序中使用这些属性并调用它所支持的方法。Automation对象的客户程序或者宿主程序通过类型库(Type Library)获得对象运行时刻的类型信息,并提供事件处理。宏语言解释器或者脚本引擎根据对象的类型信息,把其中对对象属性和方法的引用解释为对IDispatch接口成员函数Invoke的调用,从而实现对对象的控制。
Script技术是指脚本语言的技术,目前主要用于Internet浏览器中,它可实现对页面的交互处理。我们知道,HTML是一种描述性的语言,交互能力很弱,但通过Script技术,可以编制出一些内容生动、具有极强交互性的网络页面;并且,使用Script技术的另一个好处是,它能够减轻服务器端计算的负担,把部分计算工作转移到客户端来完成。目前VBScript和JavaScript语言在网络浏览器上应用非常广泛,而且一些主要的浏览器也提供了相应的引擎用于处理网页中的脚本语言。
通常来说,用于网络浏览器的脚本语言具有以下特点:(1) 它本身是一门解释性语言,所以语言的语法简单,但执行效率相对较低;(2) 它采用了事件驱动机制,脚本语言主要用于对交互事件作出响应,脚本语言程序的主体是事件处理过程;(3) 与浏览器内在的对象模型结构结合紧密,脚本语言单独作为编程语言的价值很小,只有同特定的对象模型结构相结合后才能够体现出其控制能力。在HTML的脚本程序中用户可以直接使用如Window、Pane
文档评论(0)