javascript執行個體教程(20) OLE Automation(4)

來源:互聯網
上載者:User
教程 使用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是其中一個它支援的物件類型。

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。