Einzelnen Beitrag anzeigen

RebellX

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

Re: Zugriffsverletzung nach Modulus

  Alt 21. Apr 2010, 18:00
So, hab nochmal sichergestellt, das die Bereichsprüfung an ist (ich kann Integeroverflow etc. erzeugen und krieg nen Fehler).

Hab auch versucht, auf das Modulus zu verzichten und die Animationen (hat zwar dynamische Arrays, hatte aber funktioniert) noch mal rausgenommen.

Die Stelle mit ehemals - 1 + 4 sähe nun so aus:

Delphi-Quellcode:
    while aplayer.angle > 3 do aplayer.angle := aplayer.angle - 4;
    aplayer.angle := aplayer.angle + 3;
    while aplayer.angle > 3 do aplayer.angle := aplayer.angle - 4;
wenn ich davon die 2. Zeile auskommentiere, funzt es ohne Probleme. Wenn ich aber +3 rechne (muss als byte ja gehen, die 1. und 3. Anweisungen stellen sicher, das man im Rahmen von 0..3 bleibt), sagt er wieder Zugriffsverletzung und zeigt im CPU-Fenster auf push $00000400 oder push ebx. Die anderern beiden Fälle hab ich dabei mal auskommentieren können.

Habe noch   if not assigned(@aplayer) then exit; am Anfang eingefügt, bringt auch keine Besserung...

Und eine Int64 Variable zum Feststellen, ob es mein Speicher ist, auf den ich zugreife hat auch nichts gebracht:

  if not aplayer.Testint = test then exit; Testint und test sind Int64, test eine sehr große Konstante.
  Mit Zitat antworten Zitat