Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Debugger-Exception bei ListView (Aufruf von Items.Add) (https://www.delphipraxis.net/159828-debugger-exception-bei-listview-aufruf-von-items-add.html)

Delphi_gn7 14. Apr 2011 13:57

Debugger-Exception bei ListView (Aufruf von Items.Add)
 
Hallo zusammen,

in meinem Programm, bei dem man Einträge zu einer ListView während der Laufzeit hinzufügen kann, bekomme ich beim Ausführen der Programmzeile

Delphi-Quellcode:
ListView1.Items.Add;
eine Debugger-Exception mit dem Text

"Im Projekt <Name> ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 0040449E in Modul '<Name>'. Lesen von Adresse 0000000A'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen."

im folgenden CPU-Fenster ist dann folgendes markiert:

Delphi-Quellcode:
0040449E 8B4AF8       mov ecx,[edx-$08]
.

Diese Fehlermeldung taucht nur in einer bestimmten Prozedur des Programms auf - wenn ich einen neuen Button erstelle und die gleiche Programmzeile auf das onClick-Ereignis lege, werden neue Einträge ohne Probleme hinzugefügt... was hat das zu bedeuten?

Mfg,
Delphi_gn7

DeddyH 14. Apr 2011 14:01

AW: Debugger-Exception bei ListView (Aufruf von Items.Add)
 
Zeig uns doch mal die ganze Prozedur, in der der Fehler auftritt.

Delphi_gn7 14. Apr 2011 18:38

AW: Debugger-Exception bei ListView (Aufruf von Items.Add)
 
Da die Prozedur ziemlich komplex ist habe ich sie gerade versucht um nicht die ListView betreffende Zeilen zu kürzen und dabei herausgefunden, dass es gar nicht an der angegebenen Programmzeile lag
(das hatte ich angenommen, da die prozedur bis zu einem an dieser stelle gesetzten haltepunkt korrekt ausgeführt wurde)...
... sondern daran:

Delphi-Quellcode:
DynArray1[length(DynArray1)]:=...
.
logischerweise muss es so heißen:
Delphi-Quellcode:
DynArray1[length(DynArray1)-1]:=...
:)

Mfg :)

DeddyH 14. Apr 2011 18:43

AW: Debugger-Exception bei ListView (Aufruf von Items.Add)
 
Oder
Delphi-Quellcode:
DynArray1[High(DynArray1)]:=...
;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 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