![]() |
VirtualStringTree stellt DefaultText (Node) nicht dar
Hallo zusammen,
eigentlich sollte VirtualStringtree bei einem einfachen
Delphi-Quellcode:
zwei Knoten anlegen die mit dem DefaulText "Node" beschriftet sind.
Node:=VST.AddChild(nil);
VST.AddChild(Node); Nach der Umstellung auf Delphi 10 und Update von VirtualStringtree auf 6.3 geht das nicht mehr. Weiß jemand warum nicht? Grüße Gerd |
AW: VirtualStringTree stellt DefaultText (Node) nicht dar
Neues Projekt und nichts geändert in den VST Properties?
Edit: Grade auf 6.3 geupdated und kann das Problem bestätigen. Die Nodes werden zwar angelegt, aber der Text bleibt leer. |
AW: VirtualStringTree stellt DefaultText (Node) nicht dar
Hat jemand eine Idee woran das liegt? Bin mal mit dem Debugger durch und meine, dass die Variablekorrekt initialisiert wird.
|
AW: VirtualStringTree stellt DefaultText (Node) nicht dar
Zitat:
Delphi-Quellcode:
zu implementieren, würde dies als Workaround (zumindest für die Runtime) wiederherstellen.
CellText := 'Node'
Habe kurz mal überflogen und die internen Variablen sind zu Begin tatsächlich auch korrekt mit DefaultText initialisiert, aber werden dann irgendwo später wieder resetted. Wo genau und warum, habe ich grade aber noch nicht sehen können. |
AW: VirtualStringTree stellt DefaultText (Node) nicht dar
Nein angewiesen bin ich nicht. Setze den Text eben in OnGetText wenn ich nur schnelle was testen will.
Es hätte mich eher interessiert, wo die Info verloren geht. |
AW: VirtualStringTree stellt DefaultText (Node) nicht dar
Habe die Stelle gefunden, allerdings kann ich zu der Logik dahinter nichts sagen.
Zeile 33794:
Delphi-Quellcode:
Hierbei wird der CellText nicht initialisiert:
lEventArgs := TVSTGetCellTextEventArgs.Create(PaintInfo.Node, PaintInfo.Column);
DoGetText(lEventArgs);
Delphi-Quellcode:
Die GetText() Methode enthält allerdings noch die Initialisierung mit dem DefaultText:
constructor TVSTGetCellTextEventArgs.Create(pNode: PVirtualNode; pColumn: TColumnIndex; pExportType: TVTExportType);
begin Self.Node := pNode; Self.Column := pColumn; Self.ExportType := pExportType; end;
Delphi-Quellcode:
function TCustomVirtualStringTree.GetText(Node: PVirtualNode; Column: TColumnIndex): string;
var lEventArgs: TVSTGetCellTextEventArgs; begin Assert(Assigned(Node), 'Node must not be nil.'); lEventArgs := TVSTGetCellTextEventArgs.Create(Node, Column); lEventArgs.CellText := FDefaultText; DoGetText(lEventArgs); Exit(lEventArgs.CellText) end; |
AW: VirtualStringTree stellt DefaultText (Node) nicht dar
Zitat:
Habe nämlich die Stelle nicht gefunden, an der
Delphi-Quellcode:
plötzlich den NodeText nicht mehr beinhaltet. Der wird einfach nach dem Aufruf von DoGetText plötzlich leer wenn ich mich richtig erinnere.
lEventArgs
|
AW: VirtualStringTree stellt DefaultText (Node) nicht dar
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00: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