![]() |
Re: Zugriffsverletzung nach Modulus
An der schieren Berechnung kann es halt einfach nicht liegen, und somit kann die eigentliche Ursache nicht in dem bisher spärlich von dir gezeigten Code liegen. Sobald du dich mal nach mehr als nem 3-Zeiler fühlst, kann man dir evtl. auch einen Meter weiter helfen. Rechnen an und für sich wird NIE eine AV auslösen, d.h. der Fehler an und für sich ist wo anders zu suchen. Wurde aber glaub ich gelegentlich schon drauf hingewiesen ;)
|
Re: Zugriffsverletzung nach Modulus
Um das nochmals zu sagen: Eine mathematische Berechnung kann keine Zugriffsverletzung erzeugen.
Magimal ein Integerüberlauf, DivisionDurchNull und was es sonst noch an derartigen Fehlern gibt, aber definitiv wird niemals eine Zugriffsverletzung autftreten. :!: Eine Zugriffsverletzung tritt auf, wenn man auf etwas zugreifen will, was es nicht gibt oder wo der Zugriff verweigert wird. Außerdem ist es egal wo der Debugger nach der Exception steht. (immerhin steht er da nach der Fehlerstelle, da der fehlerverursachende Code schon ausgeführt wurde) Hier gibt es also etwas, was irgendwie ständig viele vergessen. Debuggen Also den betreffenden Code Befehl für Befehl durchgehn, schauen welche Werte z.B. die Variablen haben und vergleichen welche Werte sie haben sollten. Und außerdem bekommt man so genau mit, welcher Befehl den Fehler auslöst. |
Re: Zugriffsverletzung nach Modulus
So, nachdem ich jetzt mal nen wenig Zeit hatte hab ich das Problem lösen können:
ich hatte an einer Stelle setlength(dynarray, 0) verwendet. Ich weiß zwar nicht, warum das so nicht funktioniert hat, aber mit dynarray := nil klappts nun. Vielen Dank für die Hilfe RebellX |
Re: Zugriffsverletzung nach Modulus
Du hast aber nicht die Ursache des Fehler gefunden, und dieser ist immer noch da. Du hast nur ein Symptom bekämpft und hoffst, dass jetzt kein zweites auftritt.
setlength(dynarray,0) und dynarray:=nil landet letztendlich beides bei der internen Funktion DynArrayClear. Macht also keinen Unterschied. Du hast irgendwo in deinem Code einen Fehler, der dir an einer mehr oder weniger zufälligen Stelle eine Speicheradresse, ein Regsiter o.ä. durcheinanderbringt. Solange du diese Speicheradresse nicht benötigst geht alles gut. Surche also die Ursache! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:05 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