Form_neu := TForm1.Create(Stream.ReadComponent(Form1) as TForm1);
Das geht so auch nicht! Dein Code macht in etwa folgendes:
Lese eine Komponente aus dem Stream und verwende als Instanz für die Daten Form1 (dabei werden aber alle Child-Komponenten nochmal erzeugt) und gib diese Instanz als Funktionswert zurück. Dann erzeuge ein neues TForm1 (TForm1.Create) mit der gerade gelesenenen Instanz als Owner und weise sie Form_neu zu. Form_neu ist jetzt aber leer und eine Child-Komponente von Form1.
So sollte es funktionieren:
Delphi-Quellcode:
Form_neu := Stream.ReadComponent(nil) as TForm1;
oder so:
Delphi-Quellcode:
Form1.DestroyComponents;
Stream.ReadComponent(Form1);
Übrigens:
Raize-Components hat eine TRzPropertyStore-Komponente, mit der man einzelne Properties des Forms und seiner Komponenten in der Registry oder einem IniFile speichern und auch wieder laden kann.