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
 
Benutzerbild von himitsu
himitsu

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

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
 


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 18:13 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