Wrappt einen rohen IDispatch-Pointer (COM-Objekt), damit er vom Skript verwendet werden kann.
ComObj := ComObjFromPtr(DispPtr)
Typ: Integer
Ein Interface-Pointer ungleich Null für IDispatch oder ein abgeleitetes Interface.
Typ: ComObject
Gibt ein Wrapper-Objekt zurück, das den Variantentyp VT_DISPATCH und den angegebenen Pointer enthält.
Das Wrappen eines COM-Objekts ermöglicht dem Skript eine natürlichere Interaktion mit diesem mittels Objektsyntax. Die meisten Skripte müssen dies jedoch nicht manuell tun, da ComObject, ComObjActive, ComObjGet und andere COM-Methoden, die ein Objekt zurückgeben, automatisch ein Wrapper-Objekt erstellen.
Das Wrapper-Objekt übernimmt die Verantwortung für die automatische Freigabe des Pointers, falls erforderlich. Diese Funktion versucht, das IDispatch-Interface des Objekts anzufordern; bei Erfolg wird DispPtr sofort freigegeben. Wenn das Skript also den Pointer nach dem Aufruf dieser Funktion weiter verwenden will, muss es zuerst ObjAddRef(DispPtr)
aufrufen.
Bekannte Einschränkung: Jedes Mal, wenn ein COM-Objekt gewrappt wird, wird ein neues Wrapper-Objekt erstellt. Vergleiche und Zuweisungen wie obj1 == obj2
und arr[obj1] := Wert
behandeln die beiden Wrapper-Objekte als nicht identisch, auch wenn sie dasselbe COM-Objekt enthalten.
ComObject, ComValue, ComObjGet, ComObjConnect, ComObjFlags, ObjAddRef/ObjRelease, ComObjQuery, GetActiveObject (Microsoft Docs)