Aber was ist mit DataAware-Controls? Hat FireMonkey zumindest jene?
Nein.
Stattdessen haben wir jetzt LiveBindings. Diese sind nicht auf FireMonkey beschränkt – LiveBindings funktionieren in allen Delphi-Code-Bereichen, alte
VCL genauso wie FireMonkey.
Einfach ausgedrückt, LiveBindings ist eine Verbindung zwischen zwei Eigenschaften auf einzelne Objekte. So können Sie zum Beispiel binden "Caption"-Eigenschaft eines TLabel zum "DisplayName" einer TDBColumn.
Aber diese sind nicht einfach nur Eigenschaft-zu-Eigenschaft- Zuordnungen. LiveBindings haben einen auch einen Konverter der gebundenen Eigenschafts- Werte, so könnte man das Label binden Beschriftung Eigenschaft auf den Ausdruck ""Column Name ist: '+ Großbuchstaben (DisplayName)"Zum Beispiel. Offensichtlich ist eine solche Bindung unidirektional - Sie könnten es verwenden, um das Label Beschriftung den Namen der Spalte gesetzt, aber man konnte nicht verwenden, um den Namen der Spalte auf dem Etikett zu aktualisieren, da es keine Möglichkeit gibt, einfach den Ausdruck zurück zu übersetzen.
Aber wo eine einfache Eigenschaft-to-Eigenschaftenbindung erstellt wird, werden diese - oder können (Sie entscheiden) - bidirektional.
...
Sie wollen den Wert des ausgewählten Elements in einem Listenfeld im Dialogfeld Beschriftung angezeigt werden? Auf geht's, ein Binding.
Und als Bonus kan der Evaluator/Konverter für die LiveBindings auch stand-alone eingesetzt werden, um jeden ObjectPascal Ausdruck auszuwerten, dynamisch zur Laufzeit.