Home > Class Reference > ENSLIB namespace > %Activate.Interface
Private  Storage   


abstract class %Activate.Interface extends %RegisteredObject


Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 4



%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %GetRefCount %IDispatchPtrSet %IsA
%IsModified %MakeVariantReturnValue %New %NormalizeObject
%ObjectModified %OriginalNamespace %PackageName %RemoveFromSaveSet
%SerializeObject %SetModified %ValidateObject Become

%Activate.IDispatch %Activate.IEnumVariant %Activate.TLLib.ILibraries


• 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