Dann machst Du
imho etwas Falsch. Unabhängig davon gibt es beim Grid und für ein Item (GridCoumn oder CardRow) die Ereignisse:
Code:
OnGetStoredProperties
OnSetStoredPropertyValue
OnGetStoredPropertyValue
Hier kannst Du speichern, was Du willst. Es wird z.B. die Breite einer Spalte nirgens abgelegt. Mit diesen drei Ereignissen kann man das aber realisieren.
Ich vermute, Du hast Probleme beim Einlesen des Layouts. Das klappt nicht immer, bzw. wird nicht gemeckert (Exceptiontechnisch), wenn es nicht klappt. Versuch mal, das Layout in eine INI-Datei zu speichern und draus zu lesen, das geht so:
Delphi-Quellcode:
aView.StoreToIniFile(MyFileName, True, [gsoUseFilter, gsoUseSummary]);
...
aView.RestoreFromIniFile (MyFileName, True, True, [gsoUseFilter, gsoUseSummary]);
Das stammt 1:1 aus einem meiner Projekte, wo das Alles klappt.