AGB  ·  Datenschutz  ·  Impressum  







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

Range Check Error

Ein Thema von Spezi · begonnen am 30. Jan 2010 · letzter Beitrag vom 30. Jan 2010
Antwort Antwort
Spezi

Registriert seit: 14. Feb 2009
Ort: Deutschland ;-)
65 Beiträge
 
Delphi 2005 Personal
 
#1

Range Check Error

  Alt 30. Jan 2010, 15:21
Hallo Delphi-Praktiker ,
ich habe eine Frage bezüglich der Fehlermeldung "Range Check Error".
Und zwar habe ich von meinem Informatik-Lehrer ein Programm von Schülern, die nicht mehr an unserer Schule sind bekommen, da ich mich bereit erklärt habe, es evtl etwas zu verbessern, etc.
Nun bin ich, obwohl ich meines Erachtens noch nichts an den Spielfunktionen des Programms geändert habe, auf dieses Problem gestossen.

Sobald man einen bestimmten Zug tätigt, nämlich mit Spieler 2 auf die Torlinie von Spieler 1 zieht, kommt die Fehlermeldung "Range Check Error". Das Programm stürzt nicht ab oder Ähnliches. Man kann einfach normal weiterspielen.

Außerdem habe ich die Bereichsüberprüfung im Kompiler aktiviert, deshalb verstehe ich nicht, warum diese nicht anspringt...

Meine Frage ist nun, wodurch so ein Range Check Error Zustande kommt, und wie man herausfindet, welche Quelltextzeile ihn auslöst.

MfG
Spezi

PS: Ich bin mir nicht ganz sicher, ob ich die richtige Programmiersprache angegeben habe, evtl ist es Win32, aber scheint auch .NET-Teile zu verwenden.
Angehängte Dateien
Dateityp: zip burnyball_144.zip (502,0 KB, 9x aufgerufen)
Wer Rechtschreibfehler findet darf Sie behalten
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Range Check Error

  Alt 30. Jan 2010, 15:30
Zitat von Spezi:
Außerdem habe ich die Bereichsüberprüfung im Kompiler aktiviert, deshalb verstehe ich nicht, warum diese nicht anspringt...
Genau deshalb wird der Fehler doch erkannt. Das ist genau der Range Check.

Zitat von Spezi:
Meine Frage ist nun, wodurch so ein Range Check Error Zustande kommt, und wie man herausfindet, welche Quelltextzeile ihn auslöst.
Durch debuggen. Wenn du zeilenweise durch den Code gehst, merkst du ja wo der ausgelöst wird. Meistens sind es z.B. dynamische Arrays oder ähnliches, bei denen der zugegriffene Index nicht existiert.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Spezi

Registriert seit: 14. Feb 2009
Ort: Deutschland ;-)
65 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Range Check Error

  Alt 30. Jan 2010, 15:40
Stimmt, komisch, ich hatte in Erinnerung, dass dieselbe Fehlermeldung erscheint, wenn die Bereichsüberprüfung deaktiviert ist.
Jedenfalls kamen mir sonst schlüssigere Fehlermeldungen, bzw wurde mir sonst die Fehlerhafte Quelltextzeile angezeigt.

Aber ich weiß nun schon, dass es sich um ein Array handelt, nur noch nicht, was nun den Fehler auslöst.

Wie debugge ich?
Wenn ich mit F7 immer die nächste QT-Zeile ausführe, dann führt er ja nur die Anweisungen des Projekts aus?
(Application.Initialize;
...
Application.Run
Wer Rechtschreibfehler findet darf Sie behalten
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Range Check Error

  Alt 30. Jan 2010, 17:11
Wie wäre es mit Haltepunkten?

Mehr zum Debuggen findest du hier:
http://www.delphi-treff.de/delphi-ide/debugger/
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Range Check Error

  Alt 30. Jan 2010, 17:36
Zitat von Spezi:
PS: Ich bin mir nicht ganz sicher, ob ich die richtige Programmiersprache angegeben habe, evtl ist es Win32, aber scheint auch .NET-Teile zu verwenden.
In welcher Sprache wurde es denn geschrieben?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Spezi

Registriert seit: 14. Feb 2009
Ort: Deutschland ;-)
65 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Range Check Error

  Alt 30. Jan 2010, 17:37
Naja, definitiv Delphi
Aber wie sehe ich, ob es .NET oder Win32 ist?
Wer Rechtschreibfehler findet darf Sie behalten
  Mit Zitat antworten Zitat
Spezi

Registriert seit: 14. Feb 2009
Ort: Deutschland ;-)
65 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Range Check Error

  Alt 30. Jan 2010, 21:04
Gut, habe das Problem mittels der Haltepunkte gefunden.
Danke für den Tipp, jetzt weiß ich auch für die nächsten Male, wie man die Fehler effizient findet

War übrigens ein Zugriffsfehler auf ein Array, das Programm wollte mit dem Index -4 auf das Array zugreifen, obwohl das Array bei -2 anfängt.
Wer Rechtschreibfehler findet darf Sie behalten
  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:39 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