AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Konzept: Daten und GUI synchronisieren

Ein Thema von Phunkafizer · begonnen am 11. Apr 2017 · letzter Beitrag vom 12. Apr 2017
Antwort Antwort
Phunkafizer

Registriert seit: 9. Mär 2005
Ort: Fürth
18 Beiträge
 
#1

Konzept: Daten und GUI synchronisieren

  Alt 11. Apr 2017, 18:48
Moin,

Ich möchte mir ein Programm schreiben mit welchem ich grafisch ein bestimmtes Dateiformat (eine Konfigurationsdatei einer Maschine) schreiben und lesen kann. Ich habe mir dazu eine Klasse gebaut die diese Datei schreibt und liest. Jedes Control ruft eine Setmethode der Dateiklasse auf, aber wie könnte ich umgekehrt, wenn sich die Daten ändern, das entsprechende Control aktualisieren? Es handelt sich um ganz unterschiedliche Controls wie etwa Comboboxen, Spinedits, Checkboxen usw.

Gruß
Phunkafizer
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Konzept: Daten und GUI synchronisieren

  Alt 11. Apr 2017, 21:27
Hallo,
such mal nach MVC (Model-View-Controller) bzw. MVVC
oder nach Observer Pattern.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#3

AW: Konzept: Daten und GUI synchronisieren

  Alt 12. Apr 2017, 09:11
Hallöle...
Zitat:
such mal nach MVC (Model-View-Controller) bzw. MVVC
...finde ich mit Kanonen auf Spatzen geschossen.

Hier sollte ein einfaches Event der Dateiklasse dem du die Daten übergibst, der Einfachheit die Datenklasse die die Informationen beinhaltet, ausreichen. Im Eventhandler kannst die die Werte den Controls zuordnen.

...fertsch.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Konzept: Daten und GUI synchronisieren

  Alt 12. Apr 2017, 11:55
Suche mal in der DP nach "Databinding".

Welche Delphi-Version nutzt Du denn? Seit XE gibt es ja die "LiveBindings", allerdings sind die wohl immer noch nicht sehr zuverlässig einzusetzen.

Delphi bietet sonst keine entsprechende Funktionalität an und es gibt entsprechend Ansätze von Entwicklern, so etwas zu lösen - aber keinen etablierten Standard. Auf jeden Fall gibt es eine Lernkurve, wenn man so etwas einsetzen möchte.

Wichtig ist zunächst, dass Du Deine Businesslogik von der GUI trennst. Das hast Du ja offenbar.
Offenbar kannst Du auch schon Datenänderungen aus der GUI in die BL weiter reichen.

Bei Änderungen in der BL muss diese die GUI informieren. Aber das sollte durch eine einfache Nachricht erfolgen "NeueDaten" oder "NeueDaten("Vorname") - woraufhin sich die GUI alle Daten neu abruft oder nur den Vornamen.
Wie man das ausgestaltet muss man sich danach überlegen, wie das Projekt sonst aufgebaut ist.
Auf keinen Fall sollte die BL die einzelnen Controls aus der GUI kennen und diese benutzen.

Ein fertiges Databindingframework würde dieses Ziel vereinfachen, aber so etwas gibt es für Delphi ohne Lernkurve leider nicht.

Wenn Du eine entsprechende Lösung nur für dieses Projekt brauchst, dann behalte die Trennung von BL und GUI bei und schaffe Dir einen Informationskanal von der BL zur GUI für Änderungsbenachrichtigungen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Phunkafizer

Registriert seit: 9. Mär 2005
Ort: Fürth
18 Beiträge
 
#5

AW: Konzept: Daten und GUI synchronisieren

  Alt 12. Apr 2017, 19:22
Vielen Dank für die Antworten!

>such mal nach MVC (Model-View-Controller) bzw. MVVC
Danke für die Stichwörter! Observerpattern kannte ich schon, habe aber das bisher nicht in Zusammenhang für diesen Zweck gebracht.

>...finde ich mit Kanonen auf Spatzen geschossen.
Naja, wer weiß wie sich das ganze mal noch erweitert, und für das persönliche Repertoire ist das immer gut

>Wichtig ist zunächst, dass Du Deine Businesslogik von der GUI trennst. Das hast Du ja offenbar.
Halbwegs ja, möchte aber genau da hin. Im Moment ist das so dass die Controls wie Button, Checkbox usw. zum einen die GUI aktualisieren und auf das Model schreiben.

Ich denke ich werde mal ein MVA ausprobieren wie das so tut, hier gibt es sogar ein kurzes Delphi Beispiel:

http://stackoverflow.com/questions/6...he-mvc-pattern

Gruße
Phunkafizer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz