スクリプトが使用する生のIDispatchポインター(COMオブジェクト)をラップします。
ComObj := ComObjFromPtr(DispPtr)
型:整数
IDispatch または派生インターフェースの非 NULL インターフェースポインタです。
バリアントタイプのVT_DISPATCHと与えられたポインタを含むラッパーオブジェクトを返します。
COMオブジェクトをラッピングすることで、スクリプトはオブジェクトの構文を使用して、より自然にオブジェクトと対話することができます。ただし、ComObject、ComObjActive、ComObjGet、およびオブジェクトを返すCOMメソッドでは、ラッパーオブジェクトが自動的に作成されるため、大半のスクリプトでは、これを手動で行う必要はない。
ラッパーオブジェクトは、適切な場合に自動的にポインタを解放する責任を負います。この関数は、オブジェクトにIDispatchインターフェイスを問い合わせ、IDispatchインターフェイスが返された場合、DispPtrは直ちに解放されます。したがって、スクリプトがこの関数を呼び出した後にポインタを使用しようとする場合、最初にObjAddRef(DispPtr)
を呼び出す必要があります。
既知の制限事項:COMオブジェクトがラップされるたびに、新しいラッパーオブジェクトが作成されます。Comparisons and assignments such as obj1 == obj2
and arr[obj1] := value
treat the two wrapper objects as unique, even when they contain the same COM object.
ComObject, ComValue, ComObjGet, ComObjConnect, ComObjFlags, ObjAddRef/ObjRelease, ComObjQuery, GetActiveObject (Microsoft Docs)