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