DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> Javascript實例教程(20) OLE Automation(4)
Javascript實例教程(20) OLE Automation(4)
編輯:關於JavaScript     
使用javascript中的OLE Automation

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是其中一個它支持的對象類型。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved