Neben den von mir genannten Methoden gibt es weiterhin
LoadFromStream und
SaveToStream. Die VST Komponente sorgt eigentständig dafür, dass die Hierachie der Nodes beibehalten bleibt und auch eventuelle CheckStates, etc. sollten automatisch gespeichert werden.
Die Columns kannst du einfach "per Hand" in den Stream speichern.
Delphi-Quellcode:
MS := TMemoryStream.Create;
try
MS.WriteData(VST.Header.Columns.Count);
for I := 0 to VST.Header.Columns.Count - 1 do
begin
// Write Column Name
// Write Column Width
// Write Column ...
end;
VST.SaveToStream(MS);
MS.SaveToFile('C:\test.dat');
finally
MS.Free;
end;
Delphi-Quellcode:
MS := TMemoryStream.Create;
try
MS.LoadFromFile('C:\test.dat');
MS.Position := 0;
MS.ReadData(HeaderCount);
for I := 0 to HeaderCount - 1 do
begin
Column := VirtualStringTree1.Header.Columns.Add;
// Read Column Name
// Read Column Width
// Read Column ...
end;
VST.LoadFromStream(MS);
finally
MS.Free;
end;