AGB  ·  Datenschutz  ·  Impressum  







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

[XE2] Live Bindings

Ein Thema von mquadrat · begonnen am 23. Sep 2011 · letzter Beitrag vom 9. Nov 2011
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Benutzerbild von Union
Union

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

AW: [XE2] Live Bindings

  Alt 28. Sep 2011, 12:00
Also ich finde die Bindings auch sehr interessant. Fragt sich wie dann mit DB-Bindings und Performance aussieht. Ich habe mal das Notify nahezu komplett debugged - da werden ja für ein Binding gefühlte 10.000 Zeilen Sourcecode durchlaufen bis er beim RTTI ankommt.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: [XE2] Live Bindings

  Alt 28. Sep 2011, 12:14
Na ja, je komfortabler und flexibler ein Framework zu benutzen ist, um so mehr muss dieses ja auch selbst durchführen und berücksichtigen. Das sieht man ja auch schon an der Benutzung der RTTI.
Und wenn man ein Observer-Pattern o.ä. selbst realisiert erzeugt das ja auch einigen Code, der abgearbeitet werden muss. Ich wäre da bezüglich der Perfomance nicht so pessimistisch.

Aber Du kannst ja mal dynamisch 100 Controls erzeugen und verbinden...
(und vor allem Dein D7 im Profil ersetzen )


EDIT: Da stellt sich mir noch die Frage, wie Controls bei LiveBinding reagieren, die sich in geschlossenen Formularen oder ausgeblendeten TabSheets o.ä. befinden. Befassen dies sich mit der Werteaktualisierung?
In meiner Lösung werden die Controls nur auf invalidate gesetzt und holen sich die neuen Werte, wenn sie neu gezeichnet werden. Das heißt, nicht sichtbare Controls kümmern sich nicht um neue Daten.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (28. Sep 2011 um 12:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: [XE2] Live Bindings

  Alt 28. Sep 2011, 13:50
Zitat:
Aber Du kannst ja mal dynamisch 100 Controls erzeugen und verbinden...
(und vor allem Dein D7 im Profil ersetzen )
Warum? Mit XE2 kann ich noch nicht produktiv arbeiten. Bereite es nur vor. Hoffe das wird diesmal was. Nicht wie 2005,2006,2009...
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: [XE2] Live Bindings

  Alt 28. Sep 2011, 14:16
Das Problem hat überhaupt nix mit Bindings zu tun sondern mit dem schrottigen TSpinEdit (nicht umsonst befindet sich diese Komponente unter Samples). Schau dir GetValue an und du weißt, warum dort ne Exception kommt, wenn der Text leer ist. Nur der Author selber weiß wahrscheinlich, warum er dort nicht StrToIntDef benutzt hat (vielleicht gabs das damals noch nicht). Dieser Fehler würde auch kommen, wenn du im OnChange ganz einfach Label1.Top := SpinEdit1.Value geschrieben hättest.

Nachtrag: Die Exception wird sogar geraised, wenn du einfach den Text im SpinEdit löschst und dann mit Pfeil hoch oder runter änderst. (GetValue wird getriggert)
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (28. Sep 2011 um 14:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: [XE2] Live Bindings

  Alt 28. Sep 2011, 14:23
Ich hab das hier abprogrammiert
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: [XE2] Live Bindings

  Alt 28. Sep 2011, 14:28
Nachtrag: Die Exception wird sogar geraised, wenn du einfach den Text im SpinEdit löschst und dann mit Pfeil hoch oder runter änderst. (GetValue wird getriggert)
Das habe ich auch schon leidvoll spüren dürfen (siehst Du ja im TodSpinEdit).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: [XE2] Live Bindings

  Alt 28. Sep 2011, 14:28
Hab mal nen QC Eintrag dazu gemacht.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: [XE2] Live Bindings

  Alt 28. Sep 2011, 14:31
... wobei es da vielleicht doch logischer wäre, auf einen Leerstring zu prüfen und dann MinValue zuzuweisen. Wenn jedoch "Müller" eingegeben wird, macht eine "ordentliche" Exception ja schon Sinn...
(soll aber zu dem Thema dann auch wieder reichen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: [XE2] Live Bindings

  Alt 28. Sep 2011, 15:16
... wobei es da vielleicht doch logischer wäre, auf einen Leerstring zu prüfen und dann MinValue zuzuweisen. Wenn jedoch "Müller" eingegeben wird, macht eine "ordentliche" Exception ja schon Sinn...
(soll aber zu dem Thema dann auch wieder reichen)
Sie macht auch in diesem Fall keinen Sinn - jedenfalls bei der Art und Weise, wie das SpinEdit funktioniert. Denn egal ob Leerstring oder Müller - in beiden Fällen wird MinValue zurückgeliefert. Es wird unnötigerweise eine Exception in Kauf genommen, die aber in jedem Fall abgefangen wird -> Unfug.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: [XE2] Live Bindings

  Alt 1. Okt 2011, 17:38
Ich hab jetzt mal einen simplen Performancetest mit Bindung eines Label an ein Edit gemacht. Erwartungsgemäß ist das LiveBinding ca. 60 mal langsamer als eine direkte Zuweisung der Eigenschaften. Keine schlechte Leistung, wenn man bedenkt wieviel Code dafür durchlaufen wird.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 06:51 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