abstract class %Activate.Interface
extends %RegisteredObject
property %IDispatchPtr
as %Integer [ Final ];
method %GetRefCount()
as %Integer
Return the current reference count on an ActiveX object
final method %IDispatchPtrSet(pIDispatchPtr As %Integer)
as %Status
Set the internal 'handle'. If the handle references a
a valid object, release that object first. Throw an exception
If there is an ActiveX error during close
method %MakeVariantReturnValue(pResult As %List, pBinary As %Boolean = 0)
final method Become(ClassName As %String)
as %RegisteredObject
Become an instance of the named class by closing the current object
and transferring the external objects' 'handle' to the new class. This method
is used when you have an Instance of a generic object but you know what
kind of Interface it expresses. For example, some properties or methods
of ActiveX objects return a generic IDispatch handle but are documented as
returning a more specific Interface derived from IDispatch. You can use this
method to take advantage of that documented knowlege.
During the execution of this method a test is made to ensure that the
external object really does support the requested interface. If not, an
exception will be thrown