Hi,
das Wichtigste zuerst: Du solltest lieber keine Streams in der Registry speichern.
Natürlich hat es keine Performance-Nachteile oder ähnliches, aber
imho ist es kein schöner Weg. Daten die zu deinem Programm gehören sollten möglichst auch bei diesem Programm liegen. Macht dein Programm auch leichter portierbar (z.B. auf einen USB-Stick der mal keine eigene Registry hat
).
Aber du kannst ganz einfach einen MemoryStream als Puffer benutzen, die Daten dort reinspeichern und von diesem Stream auch gleich als binary-data in die Registry schreiben.
Hier mal als ungetesteter Ansatz:
Delphi-Quellcode:
procedure VTHeaderToRegistry(const VirtualStringTree : TVirtualStringTree; const Registry : TRegistry);
var buffer : TMemoryStream;
begin
if assigned(VirtualStringTree) and assigned(Registry) then
begin
buffer := TMemoryStream.Create;
VirtualStringTree.SaveToStream(buffer);
Registry.WriteBinaryData('Dein Schlüssel', buffer.Memory, buffer.Size);
buffer.Free;
end;
end;
Wie gesagt ungetestet.
Gruß Der Unwissende