Überwachen von Variablen?
-
Seltsamer Titel ich weiss.

Ich kann in meiner Form an verschiedenen Stellen eine Variable ändern, indem ich dort immer was anderes berechne.
Die Darstellung erfolgt dann immer durch aufruf einer gemeinsamen Funktion wo die Variable letztentlich formatiert und dem TLabel zur Darstellung übergeben wird.
Jetzt die Frage ob es eine Möglichkeit zum überwachen einer Variable gibt welche dann von selber die Funktion zur Darstellung bei Änderung aufruft. So könnte ich mir den Aufruf überall ersparen.
Nein TTimer meinte ich eigentlich nicht. Ist Verzögert und bestimmt auch bei sehr vielen Variablen Systemhungrig und langsam da er alle überprüfen müsste.
Naja ist eigentlich nur mal ne Frage so in Raum. Denke mal nicht das sowas möglich ist

-
Hi,
schau dir in der Hilfe mal Propertys an....Damit ist soetwas möglich:
// FX ... Variable zur Speicherung der Eigenschaft X // writeX ... Funktion die beim Zuweisen "auf" X aufgerufen wird __property int X = {read=FX, write=writeX };MfG
Alexander Sulfrian
-
Ok. Ich muss zugeben selbst mit der Hilfe habe ich es nicht wirklich verstanden

Wenn es deine Zeit erlaubt, wäre ich für ein Mini Beispiel sehr erfreut
-
hmmmm...
also wenns spezielle Variablen sind, könntest du doch eigtl. ne Klasse mit überladenen Operatoren erstellen...
Da kannste ja dann noch beliebigen Code einschleusen.
Allerdings vermute ich fast schon, dass das was Alex gesagt hat was ähnliches nur vermutlich viel besseres is ^^Naja, wäre aber zur Not auch ne Lösung denke ich.
Gruß
Auron
-
kannst du nicht einfach eine OnChange funktion aufrufen?
-
Hi,
beispiel:class T { private : int _value; void writeValue(int aValue) { // diese Methode wird nun aufgerufen, wenn sich der Wert der Eigenschaft "Value" geändert werden soll. Ob und was geändert wird, kannst du hier entscheiden. if(aValue>10) _value=aValue; } public: __property int Value ={read=_value, write= writeValue} // }siehe auch tut in Signatur
-
Mhh, ich verstehe es und auch wieder nicht.
Wie macht man bitte den Bezug von einer vorhandenen Komponente und der Klasse?@BigNeal
Es geht ja grad darum das ich die Komponenten nicht aufrufen muss, sondern sie alleine merkt das der Wert sich geändert hat. So als ob ich direkt in ihr privates Value schreiben würde.Beispiel:
Ich habe ein TLabel und möchte dort einen Wert der Variable "int durchschnitt" darstellen. Ich drücke jetzt auf einen TButton der den Wert von "durchschnitt" auf 5 setzt. Nun müsste ich ja schreiben "Label->Caption = durchschnitt;" damit es auch angezeigt wird. Genau diesen Schritt würde ich gern überspringen.
@AndreasW
Ich verstehe leider noch nicht wie man das mit einem TLabel oder anderen Komponente jetzt verbindet und wo ich in dem (>1Jahr alten) bcb-tutorial suchen soll.*offtopic*
Schade das die Seite nicht mehr gepflegt wird. Sind viele sehr tolle Sachen dabei und viele tolle Sachen als "coming soon" angekündigt ohne das was passiert. Aber was tun wenn man keine Moderatoren dafür findet ^^