OLE Automation in JavaScript: The GetObject() Function | WebReference

OLE Automation in JavaScript: The GetObject() Function

OLE Automation in JavaScript

The GetObject() Function

The GetObject() function in Visual Basic is also supported by JScript. Its general syntax is as follows:

var objVar = GetObject([pathname][, class]);

objVar specifies a variable to hold the reference to the instantiated object. pathname is the full path and name of the file containing the ActiveX object. class specifies the class of the object in the form of a string. The class argument uses the syntax library.object, and is identical to the first argument of the ActiveXObject() function.

Generally speaking, the GetObject() function accesses an ActiveX server held within a specified file. Although both parameters are optional, at least one of them must be supplied. The GetObject() function is used when there is a current instance of the ActiveX object. It doesn't create a new instance like the ActiveXObject() function.

If you assign pathname an empty string (""), GetObject() returns a new instance of the object, unless the object is registered as single instance, in which case the current instance is returned. However, if pathname isn't specified at all, the current instance of the object is returned. An error is generated if pathname isn't specified, and no current instance of the object can be found. Note that the GetObject() function cannot be used to obtain a reference to a class created with Visual Basic.

Some applications allow you to access a particular section of the object library. Use an exclamation mark (!) after the filename, followed by a string that identifies the part of the library you want to activate. For information on how to create this string, see the documentation for the Automation server. For example, a file in a drawing application might feature several layers. You could use the following code to activate a layer within a drawing called SCHEMA.CAD:

var objVar = GetObject("C:\\CAD\\SCHEMA.CAD!Layer2");

Some files (object libraries) may support more than one class. For example, a single drawing file might support three different classes: an Application object, a Drawing object, and a Toolbar object. Since you can only reference a single object, you must specify the desired class:

var objVar = GetObject("C:\\DRAWINGS\\SAMPLE.DRW", "Figment.Drawing");

In the preceding example, Figment is the name of a drawing application and Drawing is one of the object types it supports. In the next part of the column we'll take a deeper look at the GetObject() function, and how it differs from ActiveXObject().



Produced by Yehuda Shiran and Tomer Shiran

Created: January 10, 2000
Revised: January 10, 2000

URL: http://www.webreference.com/js/column55/getobject.html