Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
Delphi 2007 Professional
|
Trennung von Daten und Anzeige [Erfahrungsbericht]
9. Jun 2009, 10:07
Das ist jetzt keine Frage, sondern ein kleiner Erfahrungsbericht:
Vor zwei Wochen fing ein altes Programm von mir an, sporadisch falsche Konfigurationswerte zu speichern. Genauer gesagt ging es um drei Integerwerte, die den ItemIndex von drei Comboboxen gespeichert haben (für Sortier-Reihenfolge).
Gültige Werte sind für ComboBox.ItemIndex bekanntlich Werte >= -1. Dabei wird ComboBox.ItemIndex beim Start (Form.Create) mit 0 initialisiert (erster Eintrag). Da ich so "faul" war und beim Beenden die Werte direkt aus den ComboBox-Objekten in die INI-Datei gespeichert hatte, dürfe da immer ein Wert >= 0 gespeichert werden (dachte ich...).
Sporadisch wurden in der Konfigurationsdatei Werte von -1 gespeichert (kein Item ausgewählt), was bei DropDownList-Comboboxen dann etwas unerwartete Ergebnisse hatte. Zu meiner Schande suchte ich den Fehler auch erst mal in der Speicher-Routine und nicht im "Datenspeicher" ComboBox.
Erkenntnis nach zwei Wochen...
Die Comboboxen liegen auf einem extra Form. Wurde diese nie geöffnet (war ja nur Einstellungs-Fenster), konnte ItemIndex trotz Initialisierung bei Programmstart später ein von der Initialisierung abweichenden Wert enthalten.
Felder (insbesondere Eigenschaften) von visuellen Objekten sind nicht geeignet, von außerhalb als Datenspeicher verwendet zu werden.
|