Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   LiveBinding von Variable/Eigenschaft zu VCL-Komponente (https://www.delphipraxis.net/215366-livebinding-von-variable-eigenschaft-zu-vcl-komponente.html)

tob2 20. Jun 2024 16:48

LiveBinding von Variable/Eigenschaft zu VCL-Komponente
 
Hallo,

weiß einer, ob und wie man über die Livebindings eine Variable oder Eigenschaft eines Objekts (anstelle einer VCL-Komponente oder einem DataSet) zu einer anderen VCL-Komponente zuordnen kann?

Also wenn ich beispielsweise ein Objekt 'Katze' abgeleitet von der Klasse 'Tier' habe und die Eigenschaft 'Farbe' mit einer VCL-Komponente bidirektional verbinden will?

himitsu 20. Jun 2024 17:41

AW: LiveBinding von Variable/Eigenschaft zu VCL-Komponente
 
Ich glaub du mußt es erstmal in deine Klasse einbauen, damit das LiveBinding damit reden kann.
Irgendwo tief in der Hilfe war eine waren mehrere verteilte und fast unverständliche Beschreibungen zu finden. :stupid:

Wollte es mal probieren und hatte damals aufgegeben.


[add]
Google sagte grade https://docwiki.embarcadero.com/RADS...en_Komponenten

MichaelT 21. Jun 2024 07:27

AW: LiveBinding von Variable/Eigenschaft zu VCL-Komponente
 
Howdy!

Ich habe ein Beispiel gefunden und ein wenig modifiziert und offensichtlich patzt sich die Expression Engine mit Kapselung nicht wirklich an . In dem habe ich mir die Binding Expression programmatisch erzeugt. (TBindingExpression)

Offensichtlich habe ich mich aus irgendeinem (vermutlich guten) Grund damit nicht mehr angepatzt.

lg
Hoppy



Zitat:

Zitat von tob2 (Beitrag 1538038)
Hallo,

weiß einer, ob und wie man über die Livebindings eine Variable oder Eigenschaft eines Objekts (anstelle einer VCL-Komponente oder einem DataSet) zu einer anderen VCL-Komponente zuordnen kann?

Also wenn ich beispielsweise ein Objekt 'Katze' abgeleitet von der Klasse 'Tier' habe und die Eigenschaft 'Farbe' mit einer VCL-Komponente bidirektional verbinden will?


tob2 22. Jun 2024 12:18

AW: LiveBinding von Variable/Eigenschaft zu VCL-Komponente
 
Danke sehr erstmal für die Antworten. Oder gibt es für Delphi auch eine Bibliothek/Komponente ähnlich wie Angular/Vue/React im Webbereich? Damit ist Datenbindung zu UI-Elementen sehr einfach realisierbar.

Uwe Raabe 22. Jun 2024 12:59

AW: LiveBinding von Variable/Eigenschaft zu VCL-Komponente
 
Zitat:

Zitat von tob2 (Beitrag 1538038)
Also wenn ich beispielsweise ein Objekt 'Katze' abgeleitet von der Klasse 'Tier' habe und die Eigenschaft 'Farbe' mit einer VCL-Komponente bidirektional verbinden will?

Bidirektional bedeutet: Änderungen in Farbe sollen in der VCL-Komponente aktualisiert werden und Änderungen in der VCL-Komponente sollen im Eigenschaft Farbe abgebildet werden?

Ersteres erfordert ja eine Art Event, der auslöst wenn die Eigenschaft Farbe sich ändert. Wenn die Klasse Tier sowas nicht zur Verfügung stellt, dann wird es eher schwierig.

Wenn du magst, schau dir mal das Observers-Beispiel meiner CmonLib an. Da geht es um genau sowas.

tob2 22. Jun 2024 16:50

AW: LiveBinding von Variable/Eigenschaft zu VCL-Komponente
 
Vielen Dank!

Zitat:

Zitat von Uwe Raabe (Beitrag 1538121)
Zitat:

Zitat von tob2 (Beitrag 1538038)
Also wenn ich beispielsweise ein Objekt 'Katze' abgeleitet von der Klasse 'Tier' habe und die Eigenschaft 'Farbe' mit einer VCL-Komponente bidirektional verbinden will?

Bidirektional bedeutet: Änderungen in Farbe sollen in der VCL-Komponente aktualisiert werden und Änderungen in der VCL-Komponente sollen im Eigenschaft Farbe abgebildet werden?

Ersteres erfordert ja eine Art Event, der auslöst wenn die Eigenschaft Farbe sich ändert. Wenn die Klasse Tier sowas nicht zur Verfügung stellt, dann wird es eher schwierig.

Wenn du magst, schau dir mal das Observers-Beispiel meiner CmonLib an. Da geht es um genau sowas.



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz