AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsverletzung seit Umstellung auf XE5

Ein Thema von NadineOnline · begonnen am 10. Apr 2014 · letzter Beitrag vom 30. Jun 2014
Antwort Antwort
NadineOnline

Registriert seit: 19. Aug 2013
9 Beiträge
 
#1

Zugriffsverletzung seit Umstellung auf XE5

  Alt 10. Apr 2014, 09:26
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:
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
   ...
Hat jemand eine Idee, wie ich das Problem lösen kann?
Vor der Umstellung lief das Programm einwandfrei...
Miniaturansicht angehängter Grafiken
lokalevariablen.jpg  

Geändert von mkinzler (10. Apr 2014 um 09:32 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Zugriffsverletzung seit Umstellung auf XE5

  Alt 10. Apr 2014, 09:53
Du solltest mal die Compiler-Optimierung ausschalten im Debug und dann durchsteppen um erstmal die Zeile zu ermitteln, an der der Fehler auftritt.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Zugriffsverletzung seit Umstellung auf XE5

  Alt 10. Apr 2014, 10:16
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.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
NadineOnline

Registriert seit: 19. Aug 2013
9 Beiträge
 
#4

AW: Zugriffsverletzung seit Umstellung auf XE5

  Alt 30. Jun 2014, 13:31
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#5

AW: Zugriffsverletzung seit Umstellung auf XE5

  Alt 30. Jun 2014, 13:35
Lösung: Das Laden der Liste muss mit einen vt.BeginUpdate starten und mit vt.EndUpdate enden.
Und/Oder ebenfalls das it1 und it2 auf Assigned prüfen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz