CX_ACCESS::Access
Beschreibung:
Diese Klassenfunktion liefert sein Objekt zurück, und zwar unter folgenden Bedingungen:
-
Wenn der zweite Parameter "FALSE" ist und der erste Parameter genau dem Typ des
eigenen Objektes entspricht (d.h. dem Typ des Objektes entspricht, für das diese Funktion aufgerufen wurde) -
Wenn der zweite Parameter "TRUE" ist und das eigene Objekte dem Typ des ersten Parameters entspricht oder davon abgeleitet ist
Wenn dieses Objekt ein CX_STREET_ADDRESS ist, wird nicht das eigene Objekt geprüft, sondern jedes Objekt, das im festen Datenfeld 'teleCommunication' gespeichert ist.
Das gilt analog für CX_SITE, wo alle Objekte im festen Datenfeld 'access' geprüft werden, ob ihr Typ dem gewünschten entspricht.
Code-Beispiel:
Var(tmp) CreateTransObject(CX_PHONE) -> tmp "CX_PHONE" FALSE tmp Call(Access) Drop // Call(Access) returns tmp "CX_PHONE" TRUE tmp Call(Access) Drop // returns tmp "CX_FAX" FALSE tmp Call(Access) Drop // returns NULL "CX_FAX" TRUE tmp Call(Access) Drop // returns NULL CreateTransObject(CX_FAX) -> tmp "CX_FAX" FALSE tmp Call(Access) Drop // returns tmp "CX_FAX" TRUE tmp Call(Access) Drop // returns tmp "CX_PHONE" FALSE tmp Call(Access) Drop // returns NULL "CX_PHONE" TRUE tmp Call(Access) Drop // returns tmp
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_ACCESS | Das zu prüfende Objekt |
Top-1 | INTEGER | FALSE: Typen direkt miteinander vergleichen, TRUE: Vererbungshierarchie berücksichtigen | |
Top-2 | STRING | Typ, auf den geprüft werden soll, z.B. "CX_PHONE" | |
Stack(Out) | Top | OBJECT | Entweder NULL, wenn der Typ nicht passt, oder das zu prüfende Objekt |
Funktionsaufruf: Call(Access)