ComObjFromPtr

スクリプトが使用する生のIDispatchポインター(COMオブジェクト)をラップします。

ComObj := ComObjFromPtr(DispPtr)

パラメータ

DispPtr

型:整数

IDispatch または派生インターフェースの非 NULL インターフェースポインタです。

戻り値

型:ComObject

バリアントタイプのVT_DISPATCHと与えられたポインタを含むラッパーオブジェクトを返します。

COMオブジェクトをラッピングすることで、スクリプトはオブジェクトの構文を使用して、より自然にオブジェクトと対話することができます。ただし、ComObjectComObjActiveComObjGet、およびオブジェクトを返す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)