IsObject
Gibt eine Zahl ungleich 0 zurück, wenn ein bestimmter Wert ein Objekt ist.
Boolesch := IsObject(Wert)
Parameter
- Wert
-
Typ: Beliebig
Der zu prüfende Wert.
Rückgabewert
Typ: Integer (boolesch)
Diese Funktion gibt 1 (true) zurück, wenn Wert ein Objekt ist, andernfalls 0 (false).
Jeder Wert, der kein primitiver Wert (Zahl oder Zeichenkette) ist, wird als Objekt eingestuft, auch solche, die nicht von Object abgeleitet sind, wie z.B. COM-Wrapper-Objekte. Diese Unterscheidung wird gemacht, weil Objekte im Gegensatz zu primitiven Werten mehrere gemeinsame Merkmale haben:
- Für jedes Objekt wird dynamisch Speicher reserviert und dessen Referenzen gezählt. Beliebig viele Variablen, Eigenschaften oder Array-Elemente können auf dasselbe Objekt verweisen. Für unveränderliche Werte ist diese Unterscheidung nicht wichtig, aber Objekte können veränderliche Eigenschaften haben.
- Jedes Objekt hat eine eindeutige Adresse, die auch ein IDispatch-kompatibler Interface-Pointer ist.
- Ein Objekt und ein anderer Wert sind bei einem Vergleich nur dann gleich, wenn es sich um dasselbe Objekt handelt.
- Es ist nicht möglich, ein Objekt direkt in eine Zeichenkette oder Zahl umzuwandeln.
Objekte
Beispiele
Meldet "Das ist ein Objekt.", weil der Wert ein Objekt ist.
obj := {Schlüssel: "Wert"}
if IsObject(obj)
MsgBox "Das ist ein Objekt."
else
MsgBox "Das ist kein Objekt."