AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Listenindex überschrietet das Maximum -> Welche Liste?

Listenindex überschrietet das Maximum -> Welche Liste?

Ein Thema von TheAn00bis · begonnen am 21. Jun 2006 · letzter Beitrag vom 21. Jun 2006
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Listenindex überschrietet das Maximum -> Welche Liste

  Alt 21. Jun 2006, 16:05
OK, das ist genau die Standard-Exception-Meldung, die du NICHT kriegen solltest, der Debugger sollte zuvor eine ähnliche meldung bringen, die dir aber die Möglichkeiten "Programm anhalten" und "Programm fortsetzen" anbietet.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#12

Re: Listenindex überschrietet das Maximum -> Welche Liste

  Alt 21. Jun 2006, 16:07
@Luckie

Es handelt sich um TObjectList.

Ich programmiere ein Spiel, dass vom Codeumfang für meine Verhältnisse schon ziemlich komplex ist (~1500 selbstgeschriebene Zeilen). Da ich für jeden Objekttypen eine eigene Liste habe sind es 8Listen. 2davon müssen auch über OpenGL abgebildet werden und es muss ständig auf Kollision etc. überprüft werden und die Objekte müssen sich bewegen, dies alles geschieht im OnIdle. Deshalb vermute ich, dass irgendwo beim Löschen noch auf die Liste zugegriffen wird, was dann in einer Exception endet, denn eigentlich überprüfe ich natürlich vor jedem Zugriff die Länge der Listen.

Zitat von DGL-luke:
OK, das ist genau die Standard-Exception-Meldung, die du NICHT kriegen solltest, der Debugger sollte zuvor eine ähnliche meldung bringen, die dir aber die Möglichkeiten "Programm anhalten" und "Programm fortsetzen" anbietet.
Die kommt (manchmal) hinterher. Wie bekomme ich die Debugger-Meldung denn wieder?

Edit: Manchmal kommt die hier:

Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt BrickPrj.exe ist eine Exception der Klasse EListError mit der Meldung 'Listenindex überschreitet das Maximum (0)' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Aber nur, wenn ich das Programm, nachdem es sich aufgehängt hat über Taskleiste->Schließen beende.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Listenindex überschrietet das Maximum -> Welche Liste

  Alt 21. Jun 2006, 16:23
das is komisch... also die debugger-meldung sollte immer zuerst kommen... aufhängen sollte es sich natürlich auch nicht ^^

Kannst du mal folgendes probieren:
- exception auslösen, so dass das (standard-) fenster kommt
- in die ide wechseln
- "Programm anhalten" (nicht zurücksetzen!)
- Callstack ansehen ( evtl. mit strg+shift+C aufrufen)

Weisst du, was der callstack ist? eine kurze suche im forum sollte dir das auch sagen
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#14

Re: Listenindex überschrietet das Maximum -> Welche Liste

  Alt 21. Jun 2006, 16:31
Zitat von DGL-luke:
das is komisch... also die debugger-meldung sollte immer zuerst kommen... aufhängen sollte es sich natürlich auch nicht ^^
Delphi hängt sich nach dieser Fehlermeldung immer so übel auf... ständig "Fehler beim setzen des Debug-Exception-Hook" und ähnliches; Sachen mit denen ich überhaupt nichts anfangen kann.

Der Callstack sieht so aus:

Zitat:
:7c81eb33 kernel32.RaiseException + 0x52
:00413ac6 TList.Get + $1E
Hilft mir das denn?

Edit: Ich solltte mich wohl mal ernsthaft mit Debugging auseinander setzen!
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Listenindex überschrietet das Maximum -> Welche Liste

  Alt 21. Jun 2006, 17:16
der callstack sollte länger sein! da solltest du irgendwann zu der methode kommen, in der TList.get aufgerufen wird....

(wenns blöd läuft, kommst du nur zu DefWndProc ^^)
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#16

Re: Listenindex überschrietet das Maximum -> Welche Liste

  Alt 21. Jun 2006, 17:21
edit5: Vergesst, was hier stand, das war vermutlich Unsinn und da blickt sowieso keiner durch.

Wie kann es denn sein, dass bei einigen Exceptions die Zeile und alles angezeigt werden und manchmal gar nicht? Wenn ich nämlich andere Listen lösche, dann wird die Zeile angezeigt - aber auch nicht bei allen!

Zitat von DGL-luke:
der callstack sollte länger sein! da solltest du irgendwann zu der methode kommen, in der TList.get aufgerufen wird....

(wenns blöd läuft, kommst du nur zu DefWndProc ^^)
Ist er aber nicht... Callstack = Aufrufstack, richtig?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 21:48 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