Einzelnen Beitrag anzeigen

RebellX

Registriert seit: 21. Feb 2009
8 Beiträge
 
Delphi 7 Enterprise
 
#1

Zugriffsverletzung nach Modulus

  Alt 20. Apr 2010, 23:00
Hi,

sitze schon seit einer Weile an folgendem Problem:

In einem Spiel soll ein Spieler durch Karten bewegt werden. Dazu habe ich eine Funktion zur Auswertung der Karten geschrieben. Doch nach einer Konstanten Zahl an Testläufen kommt es immer zu folgendem Problem:

Zitat:
... Problem mit folgender Meldung auf: 'Zugriffsverletzung bei 0x0040c5ad: Schreiben von Adresse 0x00030fc0'. Prozess angehalten...
Die Meldung erscheint zusammen mit dem CPU-Fenster, dort wird immer eins von beiden angezeigt:

Zitat:
push ebx
push $00000400
Danach war eine weitere Ausführung des Programms nicht mehr möglich...

Ich hab soweit Code auskommentiert und konnte herausfinden, das ohne folgende Zeilen das Problem nicht mehr auftritt:

player.angle := (player.angle - 1 + 4) mod 4; player.angle := (player.angle + 1 + 4) mod 4; player.angle := (player.angle + 2 + 4) mod 4; player.angle sollte immer in dem Bereich zwischen 0 und 3 gehalten werden und wird auch nur so geändert. Außerdem sollte das keine Zugriffsverletzung auslösen...

Weiß jemand, woher soetwas stammen könnte?

Schonmal Danke im Vorraus

RebellX


P.S.: Ich benutze statische und dynamische Arrays, doch auch wenn ich auf die nicht mehr zugreife tritt das Problem auf.

P.P.S.: Ich benutze Delphi 7
  Mit Zitat antworten Zitat