Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

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

AW: Component.Free -> auch fremde Zeiger auflösen

  Alt 7. Sep 2010, 12:20
Zitat:
Eigentlich muss eine Klasse, die Spieler oder Mannschaften verwaltet, gar nicht wissen, dass diese in XML-dateien gespeichert werden.
Ja, das habe ich schon so gelöst (hatte die Beschreibung etwas vereinfacht). Die Methoden der DC´s greifen halt über Read- und Write-Funktionen auf XML-Knoten zu.

Zitat:
In OnPaint gehört nur Zeichencode.
Ok, ich she aber noch keine bessere Lösung. In den Daten gibt es irgendeine Änderung. Die sichbaren Controls werden darüber informiert. Wenn sie gerade unsichtbar oder in einem ausgeblendeten Formular oder register sind, ist denen die Änderung egal.
Selektiert der Nutzer aber nun das übergeordnete Register oder blendet das übergeordnete Formular wieder ein, müssen sich die Controls ja mit den aktuellen Daten zeichnen...
Daher aktualisiere ich Text := NeuerWertAusDatenbank einfach, bevor sich die Komponente zeichnet.
Eine wirklich bessere Lösung fällt mir nicht ein, außer alle benötigten Daten direkt bei der Änderungsnachricht abzurufen und in Variablen abzulegen. Dann kann Paint diese hinterlegten Werte beim nächsten Zeichnen benutzen.
Die 3 Problem dabei sind m.E.:
1) dass alle zig000 Komponenten ständig die Daten abfragen, obwohl sie überhaupt nicht angezeigt werden
2) für alle "Felder" private Variablen zum Zwischenspeichern angelegt werden müssen (doppelte Datenhaltung)
3) Für einige Komponentendarstellungen teilw. recht komplexe Datenermittlungen (Funktionen, Suchen, Berechnungen) möglich sein können. Das wäre unnötig, wenn die Komponente ja gar nicht angezeigt wird.

Deshalb kam ich auf meine Lösung...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli ( 7. Sep 2010 um 14:17 Uhr)
  Mit Zitat antworten Zitat