4.怎样检索一个automation对象存在的实例
jscript支持同样visual basic中的getobject()函数。它的一般的语法如下:
var objvar = getobject([pathname][, class]);
objvar指定了一个变量来保留实例化对象的引用。pathname是完全的路径和包含activex对象的文件名。class指定在字符串的表单中对象的类。class参数使用了语法library.object,这跟activexobject函数的第一参数是一样的。
总得说来,getobject()函数在一个指定的文件中访问activex 服务器。虽然两个参数是可选的,但是至少要提供其中一个参数。getobject()函数是在存在activex对象的当前实例的时候使用的。它不创建一个新的实例,比如activexobject()函数。
如果你指定一个空的字符窗(""),getobject()就返回一个对象的新实例,除非对象被注册为单一的实例,在这种情况下,当前的实例被返回。但是,如果pathname没有指定,对象的当前实例被返回。如果pathname没有被指定就会产生一个错误,并且没有对象的当前实例被发现。这里注意,getobject()函数不能用于获得由visual basic创建的类的引用。
一些应用允许你访问对象库的特别部分。这时要在文件名之后使用一个感叹号(!),紧接下来的字符串是识别你想激活的库的一些部分。为了得到怎样创建这个字符串的信息,你可以参见automation服务器的技术文档。比如,在画图引用程序中的文件可能拥有几个图层。你可以使用以下的代码来在一个图片中(比如 schema.cad)激活一个图层:
var objvar = getobject("c:\\cad\\schema.cad!layer2");
一些文件(其它的库)可能支持更多的类。比如,一个画图文件可能支持三种不同的类:应用程序对象、画图对象以及工具条对象。既然你只可以引用单一的对象,所以你必须指定你指的是哪个类:
var objvar = getobject("c:\\drawings\\sample.drw", "figment.drawing");
在前面的例子种,figment是一个画图应用程序的名字,而drawing是其中一个它支持的对象类型。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器