AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Fehlermeldung: Listenindex überschreitet das Maximum(1)
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung: Listenindex überschreitet das Maximum(1)

Ein Thema von Jansteger · begonnen am 9. Nov 2013 · letzter Beitrag vom 9. Nov 2013
Antwort Antwort
Jansteger

Registriert seit: 18. Mär 2013
32 Beiträge
 
Delphi 7 Personal
 
#1

AW: Fehlermeldung: Listenindex überschreitet das Maximum(1)

  Alt 9. Nov 2013, 18:10
Ihr braucht keine Vorschläge mehr zu machen.
Es gibt jetzt keine Probleme mehr!

Mit begin und end in der IF-Schleife gibt es keine Fehlermeldung mehr
Jan
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.535 Beiträge
 
Delphi 12 Athens
 
#2

AW: Fehlermeldung: Listenindex überschreitet das Maximum(1)

  Alt 9. Nov 2013, 18:23
Laß das Exit weg.

Stattdessen ein Begin-End um alles (LoadFromFile bis hinter's Edit7.Text) drumrum ist doch auch ganz nett.

Außerdem:
- Warum wird eigentlich scheinbar ein SaveDialog für's Laden verwendet?
- Ich würde dir empfehlen den Komponenten ein paar orgentliche Namen zu geben, damit man weiß was was ist.
- Etwas Fehlerbehandlung kann nie schaden. (angefangen bei Try-Except, über eine Fehlermeldung, wenn die Datei nicht geladen wurde)
- Ich empfehle dir auch mal das Lesen/anschauen eines Tutorial für den Debugger und vorallem dessen Verwendung.

Zitat:
Wie kann ich das beheben?
Denn der Debugger hätte dir genau gezeigt, was da falsch läuft.
Und wenn du beim Testen auch mal den Datei-Dialog mit "Abbechen" oder mit einer zu kleinen Datei ausprobiert hättest, dann wäre dir dann auch das fehlende Begin-End aufgefallen.

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
  List: TStrings;
begin
  if OpenDialog1.Execute then begin
    List := TStringList.Create;
    try
      List.LoadFromFile(SaveDialog1.FileName);
      if List.Count = 7 then begin // oder > 6 bzw. >= 7
        Edit1.Text := List[0];
        Edit2.Text := List[1];
        Edit3.Text := List[2];
        Edit4.Text := List[3];
        Edit5.Text := List[4];
        Edit6.Text := List[5];
        Edit7.Text := List[6];
      end else
        ShowMessage('Ungültige Datei.');
    finally
      List.Free;
    end;
  end;
end;

Aber daß es wenigstens einen Ressourcenschutzblock (Try-Finally) gab, welcher auch noch richtig verwendet wurde, ist schonmal ein guter Anfang.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 9. Nov 2013 um 18:32 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: Fehlermeldung: Listenindex überschreitet das Maximum(1)

  Alt 9. Nov 2013, 19:07
Denn der Debugger hätte dir genau gezeigt, was da falsch läuft.
Der Debugger ist unnötig, die Fehlermeldung sagt alles. Die Liste hat 0 Elemente, weil der Zugriff auf Element #1 den Fehler verursacht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.535 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fehlermeldung: Listenindex überschreitet das Maximum(1)

  Alt 9. Nov 2013, 20:11
Der Debugger ist unnötig, die Fehlermeldung sagt alles. Die Liste hat 0 Elemente, weil der Zugriff auf Element #1 den Fehler verursacht.
Ja, das schon, aber der kleine Helfer sagt auch wo der Fehler auftritt und man kann mit ihm sehn Warum man überhaupt in der Codezeile gelandet ist.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: Fehlermeldung: Listenindex überschreitet das Maximum(1)

  Alt 9. Nov 2013, 20:45
Jo, oder man erkennt, das beim Zugriff des Elementes #1 ein Fehler auftritt, schaut in den Code, sieht die entsprechende Zeile und -facepalm- erkennt den Fehler. Aber dazu... ähm... benötigt...

Ok. Debugger. Is einfacher.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#6

AW: Fehlermeldung: Listenindex überschreitet das Maximum(1)

  Alt 9. Nov 2013, 19:03
Mit begin und end in der IF-Schleife [...]
Da isse wieder, die "if-Schleife".

MfG Dalai
  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 07:20 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