AGB  ·  Datenschutz  ·  Impressum  







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

Listenindex überschreitet Maximum(1)

Ein Thema von DelphiUser1 · begonnen am 15. Sep 2012 · letzter Beitrag vom 19. Sep 2012
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: Listenindex überschreitet Maximum(1)

  Alt 15. Sep 2012, 12:41
Fangen wir mal klein an:
Wir haben hier [code]- und sogar [delphi]-Tags, für die Quellcodes.
Delphi-Quellcode:
begin
  ShowMessage('Hallo');
end;
Warum gibst du dein erstellte TStringList (sdd) nicht wieder frei? (Speicherleck)



Und nun zum Problem:
Die Fehlermeldung sagt dir doch, was du falsch machst. (und der Debugger sagt dir sogar wo)

Du willst vermutlich auf eine Zeile (Index) der Stringliste zugreifen, welche es nicht gibt.

Laut Fehlermeldung ist eine Datei scheinbar nicht voll genug und entält nur eine Zeile (größter Index ist 0) und demnach kannst du da auch keine weiteren Zeilen (Index über 0) auslesen.



Und dann noch if Form3.Visible then .
Du bist doch schon in TForm3 drin, als solltest du auch nicht den Umweg über Form3 gehn (laß' das Form3. einfach weg)

[add]
Und es kann nichts schaden, wenn du etwas über Resourcenschutzblöcke lernst. (Try-Finally)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
DelphiUser1

Registriert seit: 15. Sep 2012
56 Beiträge
 
#2

AW: Listenindex überschreitet Maximum(1)

  Alt 15. Sep 2012, 14:07
Danke erst mal für die schnelle und ausführliche Antwort (:
Ich habe stahlis Code mal versucht zu compilieren, leider ereilte mich das selbe Schicksal wie vorher, selbe Fehlermeldung
Die StringList freizugeben habe ich wohl ganz vergessen, danke für die Anmerkung.
Das seltsame ist, das meine Text-Datei 6 Zeilen hat..
Hier der Code zum abspeichern der Datei, vielleicht hilft der weiter: (Treg ist eine eigene Klasse TForm und sl und sd speichern einmal das Kennwort ab und einmal die Kontaktinformationen)

procedure TReg.Button1Click(Sender: TObject);
var sl, sd: TStrings;
begin
sl := TStringlist.Create;
sl.add(Edit1.Text);
sl.savetofile(path+ Edit2.Text +'.txt');
sd :=TStringlist.Create;
sd.Add(Form1.Edit3.Text);
sd.Add(Form1.Edit4.Text);
sd.Add(Form1.MaskEdit1.Text);
sd.Add(Form1.Edit6.Text);
sd.Add(Form1.ComboBox3.Text);
sd.SaveToFile(path+'Info'+Edit2.Text+'.txt');
sd.free;
sl.free;
Showmessage ('Sie haben erfolgreich ein Konto angelegt');
myForm.close;
Form1.Close;
  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 22:44 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