Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#17

AW: Aufräumarbeiten bei Anwendungsende

  Alt 3. Sep 2018, 12:31
und dementsprechend rechenintensiv war das Hinzufügen, aber auch Entfernen der Nodes (hatte kaskadierende Events mit Neuberechnungen zu Folge).
...
Habe mir dann auch so beholfen, dass die Klasse im destructor ein Flag setzt, was alle Neuberechnungen auf Eis gelegt hat
In so einem Fall stelle ich mir dann immer die Frage, ob es nicht auch im laufenden Betrieb vorteilhaft wäre, die Neuberechnung nicht bei jeder Änderung durchzuführen, sondern z.B. mit einem NeedsRecalc-Flag oder einem BeginUpdate/Endupdate aufzuschieben. Dann braucht man bei Programmende nur ein BeginUpdate aufrufen und das zugehörige EndUpdate entfällt dann einfach (hier ist dann auch ein erklärender Kommentar angebracht, sonst materialisiert sich auf wundersame Weise dann in ein paar Monaten doch noch ein EndUpdate).
Genau so funktioniert es intern im Grunde auch Da wie du schon vermutest auch praktisch jede Änderung an Properties eine Neu-berechnung zur Folge hat, war eine BeginUpdate /EndUpdate Funktionalität sowieso zwingend notwendig.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat