![]() |
Zugriffsverletzung seit Umstellung auf XE5
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,
ich brauche mal eure Hilfe. Seit der Umstellung auf Delphi XE5 und die neue VirtualStringTree-Komponente (V5.3.0) habe ich folgendes Problem: Mein Tree wird sauber geladen, auch wenn ich ihn neu lade, ist alles gut. Wenn ich aber nach einer Spalte sortiere und dann den Tree neu lade, bekomme ich ein e Zugriffsverletzung. Laut Stack-Aufruf liegt der Fehler im Ereignis "CompareNodes" (siehe Anhang). Im Programm knallt es bei der Spalte, die zuvor sortiert wurde:
Delphi-Quellcode:
Data1 := vt.GetNodeData(Node1);
Data2 := vt.GetNodeData(Node2);
Delphi-Quellcode:
Hat jemand eine Idee, wie ich das Problem lösen kann?
if (not Assigned(Data1)) or (not Assigned(Data2)) then
Result := 0 else begin it1 := TUebersichtsItem(Data1.FObj); it2 := TUebersichtsItem(Data2.FObj); case Column of 1: begin if it1.Spalte1= it2.Spalte1 then ... Vor der Umstellung lief das Programm einwandfrei... |
AW: Zugriffsverletzung seit Umstellung auf XE5
Du solltest mal die Compiler-Optimierung ausschalten im Debug und dann durchsteppen um erstmal die Zeile zu ermitteln, an der der Fehler auftritt.
|
AW: Zugriffsverletzung seit Umstellung auf XE5
Die Zugriffsverletzung kommt, weil it2 = Nil ist (siehe dein angehängtes Bild). Um herauszufinden warum it2 Nil ist, wirst noch etwas genauer suchen müssen.
|
AW: Zugriffsverletzung seit Umstellung auf XE5
Hallo,
ich habe das Problem gelöst: Die Zugriffsverletzung kam, wenn ich nach dem Sortieren den Tree neu geladen habe. Lösung: Das Laden der Liste muss mit einen vt.BeginUpdate starten und mit vt.EndUpdate enden. Weiterhin frohes Schaffen ;-) |
AW: Zugriffsverletzung seit Umstellung auf XE5
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 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