Lade...
 

CX_FORMULA - Variable - InstantView

Klasse CX_FORMULA - Variable

Variable einer Formel können beliebige Zugriffsausdrücke sein. Dynamische Datenfelder kommen besonders oft als Variable in Formeln vor und werden deshalb intern besonders behandelt, d.h. die Repräsentation und Bindung an Objekte im PlugSpace sind effektiver

als im allgemeinen Fall.

Vor der Berechnung des Formelwerts werden die Variablen gebunden, d.h. es wird festgelegt, auf welche Datenfelder welcher Objekte sie verweisen.

Beim Binden der Variablen (und der externen Funktionen) wird jedes im PlugSpace registrierte Objekt auf die Existenz des entsprechenden Datenfelds getestet, und wenn es existiert, bezeichnet die Variable der Formel während der Berechnung genau dieses Datenfeld. Die Reihenfolge der Objekte im PlugSpace ist wichtig, da eine Variable mit

verschiedenen Objekte gebunden werden könnte.

Es gibt zwei Bindungsmodi: eng bzw. locker. Enge Bindung kann nur

mittels der Funktionen get und has gefordert werden, d.h. der Normalfall ist die lockere Bindung und für die viele Objekte besteht auch kein Unterschied zwischen beiden Modi. Den Zusammenhang zwischen Operanden im Formelausdruck, Bindungsmodus und den virtuellen Funktionen, mittels deren eine Klasse ein eigenes Verhalten bei der Variablenbindung

definieren kann, zeigt folgende Tabelle:

Modus Variable x als Operand Test auf Existenz der Variablen x dyn. Datenfeld wird gebunden mit Zugriffsausdruck wird gebunden mit
locker x    available(x) PlugDataField2() PlugDataField()
eng get(x) has(x) GetDataField2() GetDataField()