当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript实例教程(21) OLE Automation(2)

Javascript
javascript下操作css的float属性的特殊写法
javascript之DIV拖动类 支持在FF下拖动,调用简单
Expandable "Detail" Table Rows
用javascript实现给出的盒子的序列是否可连为一矩型
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
JS创建优美的页面滑动块效果 - Glider.js
发一个比较漂亮的选项卡动态增删的效果
可多次使用的仿126邮箱选项卡的源码
javascript仿XP关机效果的弹出窗口功能
JS控制CSS样式的方法
非常漂亮的JS代码经典广告
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
几个不错的自动收缩菜单导航效果
iframe src为图片时的高度自适应的代码
论坛转贴工具中用到的正则表达式学习正则的好例子
用javascript实现的不错的一款网页选项卡
摘自百度的图片轮换效果代码
用javascript实现旋转图片效果的代码
javascript 制作坦克大战游戏初步 图片与代码
比较简单的jquery教程 Easy Ajax with jQuery 中文版全集

Javascript实例教程(21) OLE Automation(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 285 ::
收藏到网摘: n/a

使用JavaScript中的OLE Automation

2. 什么是绑定

在你适用一个对象模型的属性、方法和事件之前,你必需首先创建一个计划性的引用给包含了你想适用的属性、方法或者事件的类。你可以通过声明一个局部对象变量以保留一个引用给这个对象来实现这个目的。然后,你要为局部变量指定一个对象的应用。

VB和VBScript使用CreateObject()函数,来实现在Jscript使用这个ActiveXObject()构造函数的时候为一个Automation对象允许并返回一个引用。

实际上,绑定是指Visual Basic代码访问在其它的应用程序对象的方法。当你从一个应用程序使用Automation来处理另外一个应用程序中对象的时候,你编写Visaul Basic代码的应用程序就是一个Automation控制器。这个你正在处理对象的应用程序是Automation服务器。当一个Automation控制器创建一个指向由Automation服务器提供对象的变量,Visual Basic 必需验证对象是否存在以及使用对象的任何属性和方法是正确指定的。这个验证过程就所谓的”绑定”。有两种Visual Basic程序开发人员使用的绑定类型要注意: late binding(迟绑定) 和 early binding(早绑定)。

迟绑定

迟绑定是发生在运行时间并且比早绑定要慢。在迟绑定Automation代码中,Visual Basic在每次执行包括那个对象的行代码时必需查询对象以及它的方法和属性。为了验证这个对象以及它的方法和属性是否正确指定,Visual Basic 必需利用操作系统和支持对象的应用来检查。下面看看一段Visual Basic 代码:

Dim wdApp As Object

Set wdApp = CreateObject("Word.Application")


这个wdApp变量被定义为一般类型的对象。当这个变量被声明了,Visual Basic 并不知道它是属于什么类型的对象,所以你必须要为这个对象留出一定量的内存。既然特定对象引用是被指定到普通变量的,所以应用程序没有办法知道对象的界面是由什么组成的。只有在运行时间,应用程序才绑定到用户界面上。因此,不管你是什么时候引用新的对象,Visual Baisc必须检查系统注册以获得对象的信息。

早绑定

早绑定是一个解决慢Automation性能的好的解决方法。早绑定发生在编译的时候而不是在运行的时候,所以如果你的代码是在编译阶段保存的,在代码运行之前已经绑定结束了。当使用早绑定,Visual Basic 不需要连续验证对象信息,而是在应用程序执行的过程中使用对象。

另外,不是所有的Automation服务器都支持早绑定。这个Automation服务器必须支持一个类型库,这个类型库包含了关于服务器对象、方法和属性的信息。为了利用早绑定,你必须为Automation服务器的类型库设置一个引用。Visual Basic装载类型库到内存中,这使得它可以识别这些对象并且在代码编译的时候绑定它们。以下的代码段显示了怎样为对象创建一个早绑定界面:

Dim wdApp As Word.Application

Set wdApp = CreateObject("Word.Application")