![]() |
Argument außerhalb des gültigen Bereichs (for-Schleife zählt ins Minus)
Ich bekomme leider seit einiger Zeit oben genannte Fehlermeldung aber nur im 64bit-Kompilat.
Die Meldung kommt an einer Stelle an der ich auf das property einer generischen TObjectListe zugreife. 32bit wie gesagt absolut kein Problem und das hier ist eine absolute Standardzeile nicht einmal die Mühe wert sie hier einzufügen. Wäre es etwas sehr Ernstes müsste es ja auch im 32bit-Kompilat auftauchen. Ein kleiner Test hat gerade gezeigt, dass meine Schleife bis mindestens -1 zählt obwohl bei 0 Schluss sein sollte!
Delphi-Quellcode:
Wie kann das sein?
for i := cList.Count - 1 downto 0 do
begin IntToStr(i)); Edit: Problem wurde erledigt. Seite 5 Beitrag 41 ![]() |
AW: Argument außerhalb des gültigen Bereichs (for-Schleife zählt ins Minus)
Lass dir doch einmal vor der Schleife den Wert von
Delphi-Quellcode:
anzeigen.
cList.Count
Nicht das der vorher schon negativ ist. Oder zeige in jeder Schleife den Wert an. Ich glaube hier kaum, dass es bei einer solch einfachen Funktion ein Problem geben sollte. Ist vielleicht deine Liste leer? |
AW: Argument außerhalb des gültigen Bereichs (for-Schleife zählt ins Minus)
Delphi-Quellcode:
Ich der Startwert von Count ist 8.
for i := cList.Count - 1 downto 0 do
|
AW: Argument außerhalb des gültigen Bereichs (for-Schleife zählt ins Minus)
Delphi-Quellcode:
Wobei mich bei einer leeren Liste schon interessieren würde, ob bei einem
if cList.Count > 0 then
begin for i := cList.Count - 1 downto 0 do begin IntToStr(i)); end; end else begin Meldung leere Liste end;
Delphi-Quellcode:
for i := -1 downto 0 do
begin ShowMessage('Diese Meldung zu sehen ist.'); end; |
AW: Argument außerhalb des gültigen Bereichs (for-Schleife zählt ins Minus)
Die Liste ist befüllt und hat 8 Einträge.
Die Zählung beginnt bei 8 und soll bei 0 aufhören (downto 0). Geht aber ins Minus. |
AW: Argument außerhalb des gültigen Bereichs (for-Schleife zählt ins Minus)
Zitat:
|
AW: Argument außerhalb des gültigen Bereichs (for-Schleife zählt ins Minus)
Folgende Testdaten sind vorhanden
Datei1.txt bis Datei8.txt Eine Showmessage vor der Schleife zeigt "Count: 8". Eine Showmessage in der Schleife zeigt "i = 7".... bis "i = 0" und dann geht es noch weiter runter bis -1. Nothilfe schafft aktuell
Delphi-Quellcode:
Das ist aber nur bei 64bit nicht bei 32bit.
if i < 0 then Break;
|
AW: Argument außerhalb des gültigen Bereichs (for-Schleife zählt ins Minus)
Bleibt der Fehler auch, wenn Du das mal so abänderst?
Delphi-Quellcode:
var
Anzahl : Integer; begin ... Anzahl := cList.Count - 1; for i := Anzahl downto 0 do begin IntToStr(i)); end; ... end; |
AW: Argument außerhalb des gültigen Bereichs (for-Schleife zählt ins Minus)
Welche Delphi-Version?
Es gab mal den Bug, wo Int64 teilweise wie UInt64 behandelt wurde. (oder war's andersrum) |
AW: Argument außerhalb des gültigen Bereichs (for-Schleife zählt ins Minus)
Zitat:
Tokyo. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 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