Das geht recht einfach. Aber die Komponente wirst du trotzdem nicht einfach in einen Stream schreiben können, denn wenn man einen Zeiger auflöst (Zugriff auf "Speicher" der Komponente) bekommt man tausende neue Zeiger.
Delphi-Quellcode:
type
TMyComp = class(TObject)
private
Next: TMyComp;
List: TList;
public
constructor Create;
destructor Destroy; override;
end;
var
Buf: array of Byte;
Comp: TMyComp;
begin
Comp := TMyComp.Create;
try
Stream.Write(Pointer(Comp)^, Comp.InstanceSize);
finally
Comp.Free;
end;
end;
Aber wie schon geschrieben, dass wird dir nichts bringen, denn damit würdest du in diesem Fall 12 Bytes schreiben (4 für den
VMT Zeiger, 4 für "Next" und 4 für "List". Wenn du dass dann wieder lädst, hast du 3 Zeiger die ins Nirwana zeigen.