Folgender Code funktioniert definitiv (hab's gerade getestet):
Delphi-Quellcode:
uses
Registry;
// Speichern des Headers in die Registry
procedure TForm1.Button1Click(Sender: TObject);
var
regi : TRegistryIniFile;
buffer : TMemoryStream;
begin
regi := TRegistryIniFile.Create(DEINKEY);
Buffer := TMemoryStream.Create;
VirtualStringTree1.Header.SaveToStream(Buffer);
Buffer.Position := 0; //hier
Regi.WriteBinaryStream(SECTION, NAME, Buffer);
regi.Free;
VirtualStringTree1.Header.Columns.Clear;
end;
// Laden der Daten aus der Registry
procedure TForm1.Button2Click(Sender: TObject);
var
regi : TRegistryIniFile;
buffer : TMemoryStream;
i : Integer;
p : PChar;
begin
regi := TRegistryIniFile.Create(DEINKEY);
Buffer := TMemoryStream.Create;
regi.ReadBinaryStream(SECTION, NAME, Buffer);
Buffer.Position := 0;
VirtualStringTree1.Header.LoadFromStream(Buffer);
Buffer.Free;
regi.Free;
end;
Delphi-Quellcode:
DEINKEY = Pfad zu deinem Key ohne den Key in den gespeichert werden soll
SECTION = Key in den gespeichert werden soll
NAME = (selbsterklärend)