Einzelnen Beitrag anzeigen

neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#113

AW: Welche Konsequenzen zieht ihr aus den Features für XE2?

  Alt 17. Aug 2011, 17:53
In diesem Blog-Eintrag wird das Live-Binding noch etwas expliziter erklärt. Als Service hier die Stelle übersetzt:
Zitat:
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.
Und wer nicht warten möchte bis XE2 verfügbar ist, der schaut sich einmal Stevies DSharp-Projekt an, das das schon alles kann.
Andreas
  Mit Zitat antworten Zitat