Lade...
 

CX_SYSTEM_OBJECT::SetRate

CX_SYSTEM_OBJECT::SetRate

Beschreibung:

Einheitenumrechnungstabelle an/abmelden (für die automatische Umrechnung bei arithmetischen Operationen mit CX_VALUE).

Wenn man diese Funktion mit dem NULL als Parameter aufruft, wird die mit SetRate() aktuell gesetzte Tabelle abgemeldet. Wird ein und die gleiche Tabelle mehrfach mit SetRate angemeldet, werden die Umrechnungen intern immer neu durchgerechnet. Es wird daher empfohlen, vorher mit GetRate zu prüfen, ob die Tabelle bereits angemeldet ist

Achtung: Die Umrechnungstabelle wird nur bei Bedarf neu berechnet. Die Berechnung findet bei der ersten arithmetischen Operation statt, die eine Umrechnungstabelle benötigten könnte. Dies Betrifft zum Beispiel die Division von zwei CX_VALUE-Objekten oder die Multiplikation, mit Zusammengesetzten Einheiten. Die Berechnung 1 Stück ⋅ 1 Stück sorgt zum Beispiel nicht dafür, dass die Tabelle aktiviert wird.
Dieses verzögerte Aktivieren hat im Normalfall keinen Einfluss auf die Berechnungen und sollte sich nur in Extremfällen bemerkbar machen.

Ein Ausnahme stellt SetRate(NULL) dar: Der erste Aufruf meldet die aktuelle Tabelle ab und forciert eine Neuberechnung der Umrechnungen. Jeder weitere Aufruf von SetRate(NULL) hat keine Wirkung (es sei denn, zwischendurch wurde SetRate mit einem Parameter ungleich NULL aufgerufen).

Achtung!  die Tabelle die mit der RegisterRate- Funktion angemeldet wurde, wird nicht zurückgesetzt. 
weitere Hinweise ...

Code-Beispiel:
Button(bRESET, FONT(0), 630, 60, 200, 8, ("Tabelle anmelden")) [ SELECT: GetObject(,tablesBox) -> table table SystemObject Call(SetRate) OpenWindow(AllRateswinR, 1) SystemObject Call(GetRate) FillWindow(AllRateswinR)  ] Button(bRESET, FONT(0), 630, 60, 200, 8, ("Tabelle abmelden")) [ SELECT: NULL SystemObject Call(SetRate) OpenWindow(AllRateswinR, 1) SystemObject Call(GetRate) FillWindow(AllRateswinR)  ]

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_RATE_TABLE oder NULL Einheitenumrechnungstabelle
Stack(Out) Top - -

 

Funktionsaufruf: SystemObject Call(SetRate)