GetObject 函式

從檔案中返回對 Automation 對象 的一個引用。
GetObject([pathname] [, class])
參數
pathname
可選項。 完整的檔案路徑和名稱,檔案中包含了要檢索的對象。 如果忽略了 pathname ,那么需要 class 。
class
可選項。 對象的類。
類參數採用的語法是 appname.objectype ,包括了以下部分:
appname
必選項。 提供對象的應用程式名稱。
objectype
必選項。 要創建的對象的類的類型。
說明
使用 GetObject 函式可以從檔案中訪問一個 Automation 對象。 可以將由 GetObject 返回的對象賦值給對象變數。 例如:
var CADObject;
CADObject = GetObject("C:\\CAD\\SCHEMA.CAD");
在執行這段代碼時,將啟動與指定的 pathname 相關的應用程式,所指定檔案中的對象將被激活。 如果 pathname 是長度為零的字元串 ("") ,那么 GetObject 將返回指定類型的一個新實例。 如果忽略了 pathname 參數,那么 GetObject 將返回指定類型的當前活動實例。 如果不存在指定類型的對象,那么將出錯。
一些應用程式允許激活檔案的一部分。要實現此功能,可以在檔案名稱的尾部添加一個感嘆號 (!) ,然後在感嘆號後跟上一個字元串來指定要激活的檔案部分。關於如何創建這個字元串的詳細信息,請參閱創建該對象的應用程式的文檔。
例如,在一個繪畫應用程式中,可能在檔案中存儲了繪畫的很多層次。 可以使用下面的代碼激活名為 SCHEMA.CAD 的圖畫中的一層。
var LayerObject = GetObject("C:\\CAD\\SCHEMA.CAD!Layer3");
如果沒有指定對象的類, Automation 將根據所提供的檔案名稱來決定要啟動的應用程式和要激活的對象。 但是,一些檔案可能支持不止一種對象的類。 例如,一個圖畫可能支持三種不同的對象類型:應用程式對象、繪畫對象,以及工具列對象,所有這些都是同一個檔案中的部分。 要指定檔案中希望激活的對象,可以使用可選的 class 參數。 例如:
var MyObject;
MyObject = GetObject("C:\\DRAWINGS\\SAMPLE.DRW", "figment.DRAWING");
在前面的例子中,FIGMENT 是繪畫應用程式的名稱,而 DRAWING 是它支持的一種對象類型。 對象被激活後,可以使用定義的對象變數來引用它。 在前面的例子中,可以通過對象變數 MyObject 來訪問新對象的屬性和方法。 例如:
MyObject.Line(9, 90);
MyObject.InsertText(9, 100, "Hello, world.");
MyObject.SaveAs("C:\\DRAWINGS\\SAMPLE.DRW");
注意 如果當前已經有了對象的實例,或者想要由已經載入了的檔案創建對象,那么可以使用 GetObject 函式。 如果沒有當前的實例,而且也不想由已經載入的檔案來啟動對象,那么可以使用 ActiveXObject 對象。
如果對象自身已經註冊為單實例對象了,那么無論執行多少次 ActiveXObject 也只會創建對象的一個實例。 對於單實例對象, GetObject 在用長度為零的字元串 ("") 語法調用時總是返回相同的實例,而如果忽略了 pathname 參數就會出錯。

相關詞條

相關搜尋

熱門詞條

聯絡我們