Einzelnen Beitrag anzeigen

SneakyBagels
(Gast)

n/a Beiträge
 
#26

AW: Argument außerhalb des gültigen Bereichs (for-Schleife zählt ins Minus)

  Alt 13. Mai 2017, 00:09
Zitat:
Naja, dass der 32 Bit-Compiler richtig arbeitet und der 64er falsch, kann Zufall sein, könnte in anderen Situationen auch andersherum sein.
Pass auf was sagst du dazu.

Folgender Code steht genau so an der Stelle ab wo i plötzlich bis zu -1 geht
Delphi-Quellcode:
             for i := cList.Count - 1 downto 0 do
              ShowMessage(IntToStr(i));
             ShowMessage('End1');

             for i := cList.Count - 1 downto 0 do
              ShowMessage(IntToStr(i));
             ShowMessage('End2');
Zwischen den beiden Schleifen steht bis auf die ShowMessage nichts.

Unter XE8 64 Bit absolut keine Probleme. Generell gibts da keine Probleme. Tokyo spinnt hier rum und macht mir die Zicken mit dem -1.

Zitat:
Oder zeig die Prozedur in der der Fehler auftritt
Hatte ich auf Seite 2
Sagen wir mal so: ein großer Thread, er funktioniert absolut perfekt
Tut er nicht!
Rechnen wir diesen Schluckauf mal raus, dann tut er es

Ich konnte das Suchgebiet eingrenzen. Ich rufe an einer Stelle vorher eine Funktion auf welche 5 Parameter akzeptiert. Drei davon sind
TFile.GetCreationTime(s), TFile.GetLastAccessTime(s), TFile.GetLastWriteTime(s)

s beinhaltet einen Pfad zu einer Datei. Der Code wird nicht immer ausgeführt. Nur sehr sehr selten und hier in meinem Fall sogar gar nicht.
Wenn ich 1x TFile.... weglasse und durch Now ersetze, funktioniert meine Schleife auch korrekt.

Hat der Compiler hier Schluckauf?
Ist jetzt aber ehrlich gesagt total unwichtig. Ich habe die Stelle gefunden die den Fehler auslöst und schuld dran sind die drei TFile.

Geändert von SneakyBagels (13. Mai 2017 um 00:42 Uhr)
  Mit Zitat antworten Zitat