| [图文]javascript实例教程(20) OLE Automation(5) |
|
| javascript实例教程(20) OLE Automation(5) |
|
作者:网络 文章来源:转载 点击数: 更新时间:2006-1-19 |
| [ 字体:缩小 正常 放大 | 双击自动滚屏 ] |
请选择合适的字体颜色:
|
|
|
MDI应用程序使用多文档模板。它可以在应用程序的一个实例中管理多个文档。这种类型的MDI应用程序不支持同时运行应用程序的多个实例。每次只有应用程序的一个实例可以存在。 MDI应用程序使用多文档模板。它可以在应用程序的单一实例中管理多个文档对象。这种类型的MDI应用程序支持每次运行应用程序的多个实例。微软的Word就一个 MDI应用程序,它支持应用程序的多个实例。
使一个给定的应用程序于上面的应用程序类型关联起来是不困难的。你可以简单地重复装载应用程序,并且注意是否每次有新的实例被创建。 使用JavaScript中的OLE Automation
5. 怎样处理应用程序的实例
比如,我们装载微软的Word三次,微软的Excel装载四次,Allaire HomeSite装载一次,Adobe Photoshop装载一次,然后看看结果的任务条,如图1所示。

(图1)
如图1所示,你可以看到Word和Excel都支持多个实例,而HomeSite和Photoshop不支持。这个任务条知识反应可视应用程序的实例。如果应用程序只是通过OLE Automation被装载,那它就不会出现在任务条上除非它是可见的。因此,你应该使用Ctrl+Alt+Del组合键来装载Close程序对话框(它可以让你彻底关闭应用程序)。
现在我们可能已经熟悉了实例,下面让我们来看看ActiveXObject() 和GetObject() 函数:
var objVar = new ActiveXObject(class);
如果对象被作为单一实例对象进行注册,那么对象就只有一个实例被创建。不管ActiveXObject()被多少次调用,你将得到对象的相同实例的引用。
如果对象示以多个实例对象(比如微软的Word)进行注册,那么对象的新实例被创建。而ActiveXObject()被调用的次数反应了实例的总数。比如 ,如果类为Word.Application,那么应用程序的新实例将被创建。
var objVar = new ActiveXObject(class, servername);
这条语句跟前面的语句是一样的,但是它在不同的服务器注册了ActiveX对象:
var objVar = GetObject(, class);
在Jscript中,这条语句将产生一个错误,因为Jscript不接受一个省略的参数紧跟着 一个逗号(,)。但是,这条语句的目的示想在Jscript中实现指定一个空的字符串而不是只是为了省略参数。在VB和VBScript中,这条语句将返回对象的实例。只有当对象不能发现的时候才会发生错误:
var objVar = GetObject("", class);
在Jscript中,这条语句将返回对象的当前实例。只有当对象不能发现的时候才会发生错误。 使用JavaScript中的OLE Automation
5. 怎样处理应用程序的实例
在VB和VBScript中,这条语句返回对象的新实例,除非对象被作为单一实例进行注册,如果是这种情况的话当前的实例将被返回。实际上,GetObject()函数的版本就是ActiveXObject()构造器。
var objVar = GetObject(pathname);
如果文档对象没运行,对象的服务器应用程序的新实例就被装载,并且应用程序被通知打开相应的文件。这里值得注意,参数必须代表现有的文件:
var objVar = GetObject(pathname, class);
即使文档已经被打开处于运行应用程序实例的状态下,应用程序新的实例总是被装载。
至此我们已经对ActiveXObject()和GetObject()的各种可能语法进行了讨论。最后让我们看看下面的总结表格:
上一页 [1] [2] [3] [4] 下一页
|
|
| 文章录入:54iter 责任编辑:54iter |
上一篇文章: javascript实例教程(20) OLE Automation(4) 下一篇文章: javascript实例教程(20) OLE Automation(6) |
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |