![]() |
"Index der Liste überschreitet das Maximum (110)" Warum?
Moin!
Ich hoffe, ich bin in diesem Forum richtig. Ich bin gerade dabei, ein Fußball-Managerspiel zu programmieren. Beim Programm gibt es erst ein Fenster, in dem man einen neuen Spielstand erstellen oder einen alten laden kann. Das eigentliche Spielfenster überprüft durch die Länge der Spielstand-Datei, ob das ein neuer oder ein alter Spielstand ist. Wenn es ein neuer ist, soll das Programm mit eine Procedure 11 Spieler erstellen und die Daten der Spieler in verschiedene Arrays packen. Seit Stunden hänge ich aber nun an folgender Fehlermeldung: Zitat:
Wie gesagt, mir scheint es so, als wenn das Programm nur eine bestimmte Anzahl von Befehlen abarbeiten kann, aber das darf ja nicht sein und das war ja auch vorher nie so. Kann mir vielleicht jemand helfen? Ich bin noch eher Anfänger und programmiere mit dem uralten Delphi 5. Vielen Dank! |
AW: "Index der Liste überschreitet das Maximum (110)" Warum?
Willkommen,
die Fehlermeldung sagt schlicht, dass Du bei einer Liste auf ein Element zugreifst, das es nicht gibt. Dafür gibt es viele Ursachen. Am einfachsten ist es, wenn Du dein komplettes Projekt (*.dpr, *.pas *.dfm.... aber ohne *.exe und ohne *.dcu) zipst und hier anhängst. Ohne Code ist hier eine Fehlersuche wie stochern im Nebel. Ich bin für heute aber raus :-) |
ZIP-Datei
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ist alles in einer ZIP-Datei.
Es kommt mir aber ziemlich komisch vor, dass sich der Fehler immer um so viele Zeilen verschiebt, wie ich mit // rausnehme. Sogar bei "end;" war angeblich schon mal der Fehler. Das betrifft die Unit 3 im Zip-Ordner. Guten Rutsch euch allen! |
AW: "Index der Liste überschreitet das Maximum (110)" Warum?
Nimm mal das Spiel := TStringList.create aus der Button1Click heraus?
Delphi-Quellcode:
procedure TForm3.FormCreate(Sender: TObject);
begin Spiel := TStringList.create; .. end; procedure TForm3.FormDestroy(Sender: TObject); begin Spiel.Free; end; |
AW: "Index der Liste überschreitet das Maximum (110)" Warum?
Delphi-Quellcode:
Sieht potentiell gefährlich aus:
vorzeile:=Random(vornamen.count+1)+1;
vorname:=vornamen[vorzeile]; Hätte die Stringliste Vornamen genau 3 Elemente, würdest du Zufallszahlen von 0-3 Erzeugen und dazu 1 Addieren, also Zahlen von 1-4 in vorzeile stehen. Die Stringliste hat aber nur die Indices 0,1,2 - bei 3 oder 4 würde es also immer zu der Index-Fehlermeldung kommen, während der Index 0 nie angesprungen würde.
Delphi-Quellcode:
Sollte korrekt sein.
vorzeile:=Random(vornamen.count);
vorname:=vornamen[vorzeile]; |
AW: "Index der Liste überschreitet das Maximum (110)" Warum?
Zitat:
|
AW: "Index der Liste überschreitet das Maximum (110)" Warum?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 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