Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Argument außerhalb des Bereichs (https://www.delphipraxis.net/206278-argument-ausserhalb-des-bereichs.html)

EdAdvokat 6. Dez 2020 17:41

Delphi-Version: 10.2 Tokyo

Argument außerhalb des Bereichs
 
Ich experimentiere ein wenig mit TList und habe dazu eine kurze Routine geschrieben, die zwar aufgerufen wird und die Werte auch in einer Listbox ausgibt, jedoch die Fehlermeldung
"Argument außerhalb des Bereichs" ausgibt. Ich komme einfach nicht auf die Ursache für diesen Fehler.
Delphi-Quellcode:
procedure TForm29.btn5Click(Sender: TObject);
var List: TList<Integer>;
i: int32;
begin
  List := TList<Integer>.Create; { Create List }
try
  List.Add(100); { Add Items }
  List.Add(200);
  List.Add(300);
  List.Add(400);

  for i := 0 to High(List.Items[i]) do

  Lst1.Items.Add(inttostr(List.items[i]));
 
finally
  List.Free;
end;
end;

Der schöne Günther 6. Dez 2020 17:56

AW: Argument außerhalb des Bereichs
 
Geh doch im Debugger einfach mal mit rein und setze dir mal einen Haltepunkt auf die Zeile
Delphi-Quellcode:
Lst1.Items.Add(inttostr(List.items[i]));
.

Dann siehst du es bestimmt 😉

EdAdvokat 6. Dez 2020 18:18

AW: Argument außerhalb des Bereichs
 
leider sehe ich das nicht, denn das habe ich bereits mehrfach versucht und auch versuchtsweise ...items[i-1] eingegeben doch ich sehe es einfach nicht.
Was muß ich verfolgen? I wird bis 4 hoch gezählt. Daraufhin habe ich versucht
Delphi-Quellcode:
for i := 0 to High(List.Items[i-1]) do
zu verwenden, aber auch das hilft nichts.
Ich finde einfach nicht die Ursache.

Redeemer 6. Dez 2020 18:24

AW: Argument außerhalb des Bereichs
 
Delphi-Referenz durchsuchenSystem.High ist nur für Arrays das, was du denkst.

EdAdvokat 6. Dez 2020 18:32

AW: Argument außerhalb des Bereichs
 
Gebe ich
Delphi-Quellcode:
for i := 0 to 3 do
für den konkreten Fall ein, funktioniert es, doch ich wollte die ganze Sache dynamisch gestalten und nicht jedesmal den
Höchstwert der Items direkt eingeben. Gibt es dafür nicht eine bessere Lösung?

TomyN 6. Dez 2020 18:38

AW: Argument außerhalb des Bereichs
 
Code:
  for i := 0 to High(List.Items) do
:-)

EdAdvokat 6. Dez 2020 18:42

AW: Argument außerhalb des Bereichs
 
Delphi-Quellcode:
 for i := 0 to High(List.Items) do
das habe ich auch bereits mehrfach versucht und es get nicht, denn er will eine [] haben...

mmw 6. Dez 2020 18:43

AW: Argument außerhalb des Bereichs
 
halllo,
eventuell so

Delphi-Quellcode:
List.Count
Gruß

EdAdvokat 6. Dez 2020 18:48

AW: Argument außerhalb des Bereichs
 
list.count klappt auch nicht.

mmw 6. Dez 2020 18:51

AW: Argument außerhalb des Bereichs
 
ich hab's so gemacht und es kommt keine Fehlermeldung

Delphi-Quellcode:
var List: TList<Integer>;
i: int32;
begin
  List := TList<Integer>.Create; { Create List }
try
  List.Add(100); { Add Items }
  List.Add(200);
  List.Add(300);
  List.Add(400);
   List.Add(4200);

for i := 0 to List.Count-1 do

  Lst1.Items.Add(inttostr(List.items[i]));

finally
  List.Free;
end;

Gru0


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:40 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz