(Moderator)
Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
|
11. Jun 2003, 11:13
Es gibt noch eine weitere Möglichkeit:
Du kannst ein einmal angepasstes Formular in einen Stream (TStream.ReadComponent, TStream.WriteComponent) schreiben und auch wieder aus einem Stream auslesen.
Das dürfte schneller gehen, und Du brauchst Dich um den aktuellen Status des Objektes keine Sorgen zu machen, denn es kommt genauso wieder raus, wie Du es reingeschrieben hast.
Es gibt nur ein Problem: Wenn Du die Klasse des Objektes änderst und neu compilierst kann das Programm mit einem alten de-serialisierten Objekt nichts mehr vernünftiges anfangen.
Du musst also in dem Fall die alte Klasse beibehalten, das Objekt hierhin einlesen, per Cast in das neue Objekt umwandeln, und dann wieder serialisieren - das lässt sich allerdings automatisieren.
Die Sache ist dann geschickt, wenn Du z.B. das Formular in einer Datenbank ablegen willst oder ähnliches. Zudem ist das Verfahren schneller, da das Objekt gleich in der richtigen Form geladen wird, und nicht erst anhand von INI-Einträgen jedesmal zur Laufzeit wieder neu umgebaut werden muss.
|