Ich hoffe ich hab dich richtig verstanden. Versuch mal das(wenn du das noch nicht gemacht hast):
Delphi-Quellcode:
//Pseudocode:
procedure Start;
var
ManagerObj: TManager;
begin
ManagerObj := TButtonManager.Create;
// ManagerObjekt erzeugen dabei wird automatisch ein Button erstellt
Serialize(ManagerObj);
...
ManagerObj.Free;
// Manager und Button werden freigegeben
...
DeSerialize(ManagerObj);
end;
constructor TButtonManager.Create;
begin
inherited Create;
// FButton is n privates Feld Button eine publishes Property
FButton := TButton.Ceate(self);
// owner zuweisen
end;
procedure Serialize(AManager: TManager);
begin
...
FileStream.WriteComponent(AManager);
// ggf. könnte hier n TypeCast erforderlich sein, dass die RTTI weiß, dass es sich um einen TButtonManager handelt. Bin mir da aber nicht sicher(ich glaubs aber eigentlich nicht). Kenn mich dazu mit RTII noch zu wenig aus
...
end;
procedure DeSerialize(
out AManager: TManager);
begin
...
FileStream.ReadComponent(AManager);
...
end;
Du könntest dir auch mal die erzeugte Datei angucken. Dann merkt man zuerst mal obs Serialisieren richtig geklappt hat...
mfg
Christian