Lade...
 

Get

Get

Get(zugriffsAusdruck), Get(STACK)

Parameter: ein Zugriffsausdruck

Stack
Stack   Beschreibung
Stack(In)   ein Objekt
Stack(Out)   das ausgewählte Datenfeld

Get "extrahiert" ein über den Zugriffsausdruck erreichtes Datenfeld aus einem Objekt. Im Gegensatz zu Copy hat man mit diesem Statement direkten Zugriff auf das Original. Eine Fehlermeldung erscheint, wenn der Zugriffsausdruck zu einem nicht existierenden Datenfeld führt. Kann der Zugriffsausdruck nicht weiter verfolgt werden wegen

  • eines Pointers mit Wert = NULL
  • einer Funktion, die NULL zurückgibt
  • eines im Objekt nicht vorhandenen Slots

so bringt Get INVALID auf den Stack.

Das ist ein Unterschied zu Call:
Call liefert NULL zurück, wenn die aufgerufene Funktion NULL zurückgibt. Get(Funktion(...)) wandelt das NULL der Funktion in ein INVALID um.

Hinweis: 
Mit Get kann man nicht auf Elementardatentypen zugreifen. Der Sinn dieser Einschränkung besteht darin, dass elementare Daten (Zeichenkette, ganzzahlige Werte, ...) nicht losgelöst vom Objekt in der Datenbank verändert werden können.
Bei einem persistenten Objekt beginnt eine Transaktion.