Beim Speichern mit VST.SaveToFile(); muss ein Fehler auftreten.
Die 2. Spalte in meinem VirtualTreeView wird jedes Mal um unterschiedlich viele Zeichen gekürzt.
Meine Datenstruktur sieht so aus:
Delphi-Quellcode:
type
PTreeData = ^TTreeData;
TTreeData = record
FCaption: String;
FColumn1: String;
ImageIndex: integer;
end;
Hier noch die Ereignis-Methode fürs Speichern:
(habe die wie im Tutorial von delphi-treff gemacht)
Delphi-Quellcode:
procedure TForm1.VSTSaveNode(Sender: TBaseVirtualTree; Node: PVirtualNode;
Stream: TStream);
var
Data: PTreeData;
Len1,Len2: integer;
begin
Data := VST.GetNodeData(Node);
Len1 := Length(Data.FCaption);
Stream.write(Len1, SizeOf(Len1));
Stream.write(PChar(Data.FCaption)^, Len1);
Len2 := Length(Data.FColumn1);
Stream.write(Len2, SizeOf(Len2));
Stream.write(PChar(Data.FColumn1)^, Len2);
Stream.Write(Data.ImageIndex, SizeOf(Data.ImageIndex));
end;