Lade...
 

Typ

Type

Type, Type(zugriffsAusdruck), Type(, TRUE), Type(zugriffsAusdruck, TRUE)

Parameter: optional ein Zugriffsausdruck

Stack
Stack Position Beschreibung
Stack(In) Top ein Objekt
Stack(Out) Top codierter Typ

Ist kein Operand angegeben, wird die Typ des Objekts auf dem Stack zurückgegeben.

Beispiel:

CX_STRING obj Type = if { "obj is a String!" Attention }

Wird ein Zugriffsausdruck angegeben, erhält man den Typ des mittels Zugriffsausdruck erreichten Datenmembers. Ist dies ein Pointer p auf ein Objekt, so erhält man

  • die ClassID des Objekts, auf das p zeigt
  • oder - 1 (NOTHING), falls p = NULL

NOTHING ist auch das Ergebnis, wenn der Zugriffspfad nicht weiter verfolgt werden kann, weil ein Pointer oder eine Funktion NULL liefern. Verweist der Zugriffsausdruck auf einen Slot, sind folgende Fälle möglich:

  • der Typ des Slots oder
  • 0 (UNDEFINED) wenn der Slot in dieser Objektinstanz nicht vorkommt oder
  • - 1 (NOTHING), weil ein Pointer oder eine Funktion NULL liefern  

Wenn sich Type auf ein Objekt der Klasse CX_DESCRIPTIVE_REF oder einer davon abgeleiteten Klassen bezieht, liefert Type die ClassID des Objekts, auf das sich der Wrapper bezieht, d.h. Wrapper sind auch für Type "durchsichtig".
Wird im zweiten Parameter TRUE angegeben, erhält man den "wahren" Typ, also für CX_DESCRIPTIVE_REF / CX_OVERWRITING_REF den Typ dieser Klassen.

InstantView®