AGB  ·  Datenschutz  ·  Impressum  







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

Keine Frames unter Firemonkey

Ein Thema von bernau · begonnen am 26. Sep 2011 · letzter Beitrag vom 29. Sep 2011
Antwort Antwort
Seite 5 von 6   « Erste     345 6      
neo4a

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

AW: Keine Frames unter Firemonkey

  Alt 27. Sep 2011, 16:42
Ich find es nur spannend zu sehen, wie sich aus einer "fixen Idee" so langsam etwas entwickelt, womit auch andere arbeiten und was nicht nur in der Theorie toll klingt (einen Vorwurf, den man sich als "Designpattern- und Prinzipienfundamentalist" von den "Konservativen" (achtung Ironie ) oftmals vorwerfen lassen muss)
Zu Recht, zumindest solange der Praxis-Test fehlt.

Wenn Du Dir meine Demo anschaust, dann wirst Du bemerken, dass die Validierung, die an die Bindings angehangen wird, dort irgendwie nicht ganz passt. M.E. gehört da ein Callback zur Validierung in der Datenklasse als Möglichkeit dazu.

Gleichzeitig fehlt mir die Möglichkeit, Property- Änderungen, die die Validierung nicht passieren, zurück weisen zu können.

Ich habe mittels DI/Emballo die Datenklasse im Formular als Interface zur Verfügung gestellt, um die Unit-Referenz zu entsorgen. Leider werden nun die Bindings nicht mehr frei gegeben und ich erhalte ein Memoryleak. Wie werden die TBindings explizit wieder frei gegeben?
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: Keine Frames unter Firemonkey

  Alt 27. Sep 2011, 16:53
Zu Recht, zumindest solange der Praxis-Test fehlt.
Deshalb freu ick mir ja gerade so, dass es etwas in Gang kommt

Wenn Du Dir meine Demo anschaust, dann wirst Du bemerken, dass die Validierung, die an die Bindings angehangen wird, dort irgendwie nicht ganz passt. M.E. gehört da ein Callback zur Validierung in der Datenklasse als Möglichkeit dazu.
Jein, so ist die Validierung auch entkoppelt. Man kann sich aber ohne Probleme eine ValidationRule erstellen, die über ein Callback arbeitet. Problem in dem Demo ist, dass die ValidationRule im Model gebaut wird. Da gehört sich imo nicht hin, sondern im wire up code. Ist aber insgesamt ein Problem, auch in WPF gibt es dahingehend verschiedene Ansätze, das ganze über das ViewModel zu machen oder nicht. Dazu kann man auch an BindingGroups Validations hängen.

Gleichzeitig fehlt mir die Möglichkeit, Property- Änderungen, die die Validierung nicht passieren, zurück weisen zu können.
Hm, wenn die Validierung fehlschlägt, wird eigentlich der Wert nicht übertragen (wenn doch, ist das ein Bug) - was evtl der Fall sein kann, ist, dass das Control nicht "zurückgesetzt" wird. Das enthält dann nämlich noch den invaliden Wert.

Ich habe mittels DI/Emballo die Datenklasse im Formular als Interface zur Verfügung gestellt, um die Unit-Referenz zu entsorgen. Leider werden nun die Bindings nicht mehr frei gegeben und ich erhalte ein Memoryleak. Wie werden die TBindings explizit wieder frei gegeben?
Die Bindings entweder über ihre TBindingGroup freigegeben. Sollten sie keiner BindingGroup angehören über Source oder Target (wenn eins von beiden von TComponent ist).

Falls es noch Probleme gibt, einfach nochmal aktuelle Version uppen und ich schau mal drüber.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (27. Sep 2011 um 16:57 Uhr)
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
563 Beiträge
 
Delphi XE6 Enterprise
 
#43

AW: Keine Frames unter Firemonkey

  Alt 29. Sep 2011, 09:45
Nach der reinen Lehre, wie sie z.B. von Vordenkern wie Fowler (*) vertreten wird, muss jede Form durch eine dumme Webseite ersetzbar sein, d.h. irgendeine Art von Eingabelogik hat auf der Form gar nichts zu suchen. Erst beim "Abschicken" wird validiert und der Anwender ggfs. durch farbige Markierungen auf Eingabefehler aufmerksam gemacht.

Meine Meinung: Mit solchen Programmen macht die Arbeit keine Freude...


------------------------------------
(*) schreibt er in "Patterns of Enterprise Application Architecture". Das Buch wurde Jahre vor "AJAX" geschrieben (2002), damals waren Webseiten tatsächlich noch "dumm".
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#44

AW: Keine Frames unter Firemonkey

  Alt 29. Sep 2011, 09:49
Imho ist es aber besser, bei der Eingabe zu prüfen.
Zudem hat diese Diskussion hier wenig mit dem ursprünglichen Thema zu tun.
Markus Kinzler

Geändert von mkinzler (29. Sep 2011 um 09:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#45

AW: Keine Frames unter Firemonkey

  Alt 29. Sep 2011, 09:54
Zitat von Frickler:
muss jede Form durch eine dumme Webseite ersetzbar sein, d.h. irgendeine Art von Eingabelogik hat auf der Form gar nichts zu suchen
Ganz meine Meinung. Wie herrlich schnell konnte man früher mit 3270 Terminals arbeiten. Leider sind meine Kunden anderer Ansicht. Am besten soll jedes Feld schon beim Tippen 10 andere aktualisieren.

Zitat von implementation:
Ich habe Delphi nach der Turbo verlassen und weiß nicht, wie es mit dem Designer dort aussieht, aber ich bin einfach davon ausgegangen, dass der auch verbessert wurde
Falsch. Der FMX Designer ist eine Katastrophe, ein Rückschritt ohnegleichen. Am besten gleich in der Textformularansicht arbeiten. Dann stört einen auch nicht dass man nach 2 Minuten nicht mehr zwischen Form und Code umschalten kann. Und die Hälft der Hotkeys nicht mehr funktioniert.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
neo4a

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

AW: Keine Frames unter Firemonkey

  Alt 29. Sep 2011, 11:28
Wenn Du Dir meine Demo anschaust, dann wirst Du bemerken, dass die Validierung, die an die Bindings angehangen wird, dort irgendwie nicht ganz passt. M.E. gehört da ein Callback zur Validierung in der Datenklasse als Möglichkeit dazu.
Jein, so ist die Validierung auch entkoppelt. Ist aber insgesamt ein Problem, auch in WPF gibt es dahingehend verschiedene Ansätze, das ganze über das ViewModel zu machen oder nicht.
Im Moment ist sie dafür an das Binding gekoppelt.
Man kann sich aber ohne Probleme eine ValidationRule erstellen, die über ein Callback arbeitet. Problem in dem Demo ist, dass die ValidationRule im Model gebaut wird. Da gehört sich imo nicht hin, sondern im wire up code.
Im Formular ist keine DSharp-Unit erforderlich und das war mein Ziel. Und wenn DSharp zukünftig beide Ansätze unterstützt, kann die Diskussion führen wer will und sich zumindest nicht an mangelnder Funktionalität fest machen
Gleichzeitig fehlt mir die Möglichkeit, Property- Änderungen, die die Validierung nicht passieren, zurück weisen zu können.
Hm, wenn die Validierung fehlschlägt, wird eigentlich der Wert nicht übertragen (wenn doch, ist das ein Bug) - was evtl der Fall sein kann, ist, dass das Control nicht "zurückgesetzt" wird. Das enthält dann nämlich noch den invaliden Wert.
Logisch, und nun?

Ich habe mittels DI/Emballo die Datenklasse im Formular als Interface zur Verfügung gestellt, um die Unit-Referenz zu entsorgen. Leider werden nun die Bindings nicht mehr frei gegeben und ich erhalte ein Memoryleak. Wie werden die TBindings explizit wieder frei gegeben?
Die Bindings entweder über ihre TBindingGroup freigegeben. Sollten sie keiner BindingGroup angehören über Source oder Target (wenn eins von beiden von TComponent ist).

Falls es noch Probleme gibt, einfach nochmal aktuelle Version uppen und ich schau mal drüber.
Ich werde einmal etwas vorbereiten und dazu auch ein Refactoring der Datenklasse durchführen, weil sich mein "Zeig-Du-Mir-Wie's-Geht-AG" ja nun aus der Diskussion verabschiedet hat.
Andreas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#47

AW: Keine Frames unter Firemonkey

  Alt 29. Sep 2011, 11:34
Es gibt zur Zeit doch schon 2 Threads zum Thema Live Bindings

http://www.delphipraxis.net/163299-%...-bindings.html
http://www.delphipraxis.net/163356-%...e-tedit-2.html

Warum postet ihr eure Beiträge, die eher zu diesem Thema passen dort, oder in einem neuen Thread und beschränkt euch hier auf das Thema des Threads ( fehlende Frames unter FMX)?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: Keine Frames unter Firemonkey

  Alt 29. Sep 2011, 12:38
Gleichzeitig fehlt mir die Möglichkeit, Property- Änderungen, die die Validierung nicht passieren, zurück weisen zu können.
Hm, wenn die Validierung fehlschlägt, wird eigentlich der Wert nicht übertragen (wenn doch, ist das ein Bug) - was evtl der Fall sein kann, ist, dass das Control nicht "zurückgesetzt" wird. Das enthält dann nämlich noch den invaliden Wert.
Logisch, und nun?
ValidationErrors vom Binding auf ein ErrorTemplate (entweder ähnlich zu dem Label in meinem Sample1, oder eine eigene Komponente, z.B. JVCL hat da was, wenn ich mich recht erinnere) binden.

Dass der das Control standardmäßig den invaliden Wert behält, ist by design.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (29. Sep 2011 um 12:52 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#49

AW: Keine Frames unter Firemonkey

  Alt 29. Sep 2011, 12:50
Rede ich chinesisch?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: Keine Frames unter Firemonkey

  Alt 29. Sep 2011, 12:53
rede ich chinesisch?
我不明白
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 6   « Erste     345 6      


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:28 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