Thema: Delphi [XE2] Live Bindings

Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#47

AW: [XE2] Live Bindings

  Alt 9. Nov 2011, 14:58
Unterstützen DSharp Bindings auch Expressions ohne DWS?
Code:
TBinding.Create(Label1, 'Caption', Edit1, 'Text' + 'zusätzlicher Text', bmOneWayToSource);
Sehr schönes Framework übrigens.
Danke und jein, sobald der Text über Property oder Methodennamen hinausgeht (du kannst sehr wohl Eigenschaften und Methodcalls - sofern parameterlos - verketten, etwa 'Font.Size' oder 'Parent.Name') geht das nicht ohne DWS.

Ich arbeite gerade an einer besseren Integration von DWS in die Bindings. Dabei stellt sich mir noch das Problem in den Weg, wie ich in DWS den Scope auf eine Variable (ich nutze ja den TdwsRTTIConnector) setzen kann (sonst müsste ich in der Expression nämlich 'Edit1.Text + "zusätzlicher Text"' oder 'Self.Text + "zusätzlicher Text"' schreiben. Also mir fehlt quasi das with...do statement in DWS, was dann noch zusätzlich mit Variants funktioniert, was in Delphi ja nicht geht.

Im Moment kannst du das nur im Code selbst erstellen (TDelphiWebScriptExpression). Oder du gibst einen Value Converter an, der dir an den Wert aus der Text Property 'zusätzlicher Text' hängt. Ich selbst bin etwas skeptisch, was zu viele Magic strings angeht, da sich dadurch sehr schnell Fehler einschleichen. Und am Ende sitzt man da und braucht eine dicke Designtime Validierung, ob die ganzen Expression Texte, die man angegeben hat, auch funktionieren. Die Bindings sollen keine Scriptsprache werden, sondern nur Datenfluss von A nach B regeln.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat