![]() |
TVirtualTree:Spalteninhalt wird beim Speichern abgeschnitten
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:
Hier noch die Ereignis-Methode fürs Speichern:
type
PTreeData = ^TTreeData; TTreeData = record FCaption: String; FColumn1: String; ImageIndex: integer; end; (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; |
Re: TVirtualTree:Spalteninhalt wird beim Speichern abgeschni
Typischer D2009 (Unicode-Fehler):
Delphi-Quellcode:
Jedes Char braucht in D2009 2 Bytes!
Stream.read(PChar(Data.FCaption)^, Len1*SizeOf(Char);
... Stream.write(PChar(Data.FColumn1)^, Len2*SizeOf(Char); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz