Sorry, aber irgendwie sind deine Klassen ziemlich sinnlos.
Wenn ich ein einziges Objekt streamen will, nehme ich doch keine Collection - erst recht keine typisierte, für die ich erst 5 Units runterladen muss - , sondern tippe in höchstens 30 Sekunden:
Delphi-Quellcode:
type
TSettings = class(TComponent) // wer unbedingt TPersistent will, kann immer noch bspw. per Class-Hack TWriter.WriteProperties benutzen
...
published
BotherUser: Boolean;
end;
...
WriteComponentResFile(ParamStr(0) + 'Settings.dat', MySettings);
...
MySettings := ReadComponentResFile(ParamStr(0) + 'Settings.dat', null);
Das soll kein Vorwurf sein, wahrscheinlich hast du dich mit der
RTTI einfach noch nicht beschäftigt.
Du könntest statt deiner Collection allerdings einen kleinen Wrapper um meinem Bleistiftcode bauen, soll heißen mit deinen Load/Save-Overloads, einer Binary-Property, ...