Cargo

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Version vom 2. Juli 2013, 12:28 Uhr von Georg (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Ein Universalwerkzeug

Jedes Objekt in Xbase verfügt über eine Instanzvariable :cargo.

Diese Instanzvariable hat in Xbase keine spezifische Funktion, sondern steht dem Programmierer zur exklusiven Nutzung zur Verfügung.

Wenn objekt-spezifisch Informationen hinterlegt werden müssen, so geht dies entweder, indem :cargo zur Speicherung verwendet wird, oder indem eine eigene Klasse abgeleitet wird, in der entsprechende Instanzvariablen definiert werden, in der diese Daten hinterlegt werden können.

Die Implementierung einer eigenen Klasse ist normalerweise der Weg, der zu bevorzugen ist.

Die Verwendung von :cargo erlaubt es, dies auf "auf die Schnelle" (quick and dirty) zu implementieren.

oXbp := XbpSLE():new(oDlg, oDlg, aPos, aSize)
oXbp:dataLink := {|x| IIf(x == NIL, cName, cName := x)}
oXbp:cargo := {"cName", cName}
...
oXbp:create()

Auf diesem Weg kann man in :cargo den Namen der bezogenen Variablen, sowie ihren Wert zum Beginn des Editier-Vorgangs hinterlegen.

Die Möglichkeiten zum Gebrauch von :cargo sind theoretisch nicht beschränkt, jedoch sollte man immer im Auge behalten, dass auch andere Programmierer diese Variable für ihre Zweck benutzen.