Ich habe ein TListView, der Einfachkeit halber speichere ich Daten bei den TListItems (Projekt gewachsen, selbstverständlich wäre eine korrekte Trennung von UI und Daten besser - immerhin handelt es sich nur im Daten für die Darstellung).
In OnCreateItemClass weise ich meine eigene von TListItem abgeleitete Klasse zu, caste später korrekt, Daten sind verfügbar.
Nun mache ich einen Theme-Wechsel, während das Programm läuft, und alle Daten sind weg! Scheinbar re-initialisiert Delphi da das TListView. Also habe ich erstmal das Assign korrekt geschrieben, nen Reader und Writer für die Daten gebastelt und den in DefineProperties dem Filer übergeben, DefineProperties wird aber gar nicht aufgerufen. In der
VCL übernimmt schon TListItems das Laden der einzelnen TListItem.
Klar, ich kann jetzt den Rückschritt machen und mir in TListItem.Data nen Zeiger auf meine Daten speichern und mein TMeinListItem greift über seine Setter und Getter darauf zu. Aber für's Verständnis wüsste ich gerne, wie ich diese Daten Theme-wechsel-persistent bekomme.
Ideen?