AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi "Index der Liste überschreitet das Maximum (110)" Warum?
Thema durchsuchen
Ansicht
Themen-Optionen

"Index der Liste überschreitet das Maximum (110)" Warum?

Offene Frage von "felix00186"
Ein Thema von felix00186 · begonnen am 31. Dez 2015 · letzter Beitrag vom 1. Jan 2016
Antwort Antwort
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.403 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: "Index der Liste überschreitet das Maximum (110)" Warum?

  Alt 31. Dez 2015, 12:47
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
  Mit Zitat antworten Zitat
felix00186

Registriert seit: 31. Dez 2015
6 Beiträge
 
#2

ZIP-Datei

  Alt 31. Dez 2015, 12:52
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!
Angehängte Dateien
Dateityp: zip programm.zip (12,8 KB, 10x aufgerufen)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: "Index der Liste überschreitet das Maximum (110)" Warum?

  Alt 31. Dez 2015, 13:00
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;
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: "Index der Liste überschreitet das Maximum (110)" Warum?

  Alt 31. Dez 2015, 13:13
Delphi-Quellcode:
vorzeile:=Random(vornamen.count+1)+1;
     vorname:=vornamen[vorzeile];
Sieht potentiell gefährlich aus:
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:
vorzeile:=Random(vornamen.count);
     vorname:=vornamen[vorzeile];
Sollte korrekt sein.
Sebastian
  Mit Zitat antworten Zitat
felix00186

Registriert seit: 31. Dez 2015
6 Beiträge
 
#5

AW: "Index der Liste überschreitet das Maximum (110)" Warum?

  Alt 1. Jan 2016, 16:19
Delphi-Quellcode:
vorzeile:=Random(vornamen.count+1)+1;
     vorname:=vornamen[vorzeile];
Sieht potentiell gefährlich aus:
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:
vorzeile:=Random(vornamen.count);
     vorname:=vornamen[vorzeile];
Sollte korrekt sein.
Vielen Dank, daran lag es!
  Mit Zitat antworten Zitat
felix00186

Registriert seit: 31. Dez 2015
6 Beiträge
 
#6

AW: "Index der Liste überschreitet das Maximum (110)" Warum?

  Alt 1. Jan 2016, 16:21
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;
Dir auch vielen Dank! Das stimmt, die Stringlist spiel wurde wirklich mehrmals erstellt. Jetzt funktioniert das Programm endlich bis zu diesem Punkt und ich kann weitermachen. Warum der Fehler an total unterschiedlichen Stellen angezeigt wurde, die damit so gut wie nichts zu tun haben, weiß ich immer noch nicht, aber ist ja auch egal.
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 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