Entwickler-Ecke
Dateizugriff - Try...Except Funktioniert nicht...
Andreas95 - Mi 12.01.11 20:44
Titel: Try...Except Funktioniert nicht...
Also ich versuche eine datei beim programmstart(oder irgendein procedure zb buttonclick) zu laden. In diesem Fall eine .txt Datei. Wenn das programm startet, soll es versuchen eine datei x.txt zu öffnen (try) und wenn es sie nicht findet dann soll es eben eine erstellen(except)
Aber jedesmal wenn ich diesen code ablaufen lasse:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| var Form1: TForm1; h: tstringlist;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin try h.loadfromfile('x.txt'); except h.SaveToFile('x.txt'); end; end;
procedure TForm1.FormCreate(Sender: TObject); begin h := tstringlist.Create; end; |
dann kommt der error (siehe angehängter screenshot)
Hat jemand eine idee wie ich es richten kann?
haentschman - Mi 12.01.11 20:49
Hallo, erst kommt die Debugger Meldung und dann sollte er ins except springen. Setze mal einen Breakpoint bei SaveToFile.
Andreas95 - Mi 12.01.11 20:55
Ok ich habe einen Breakpoint Gesetzt, aber beim drücken von button1 passiert genau das gleiche. es kommt immernoch die gleiche fehlermeldung und markiert den code blau: h.loadfromfile('x.txt'); ...
Hat jemand eine idee wieso?
jaenicke - Mi 12.01.11 20:58
Also erstens kommt die Meldung nur innerhalb von Delphi beim Debuggen. Damit die Meldung zwar abgefangen wird gegenüber dem Benutzer, du aber dennoch debuggen kannst, wenn die Meldung kommt.
Zweitens ist es Schwachsinn dafür auf eine Exception zu prüfen. Frage lieber richtig mit FileExists ab, ob die Datei existiert.
Und drittens fehlt die Pfadangabe, du hast also keine Ahnung wo das Programm überhaupt nach der Datei sucht:
http://www.delphi-library.de/viewtopic.php?p=499701
bummi - Mi 12.01.11 20:58
Steht doch alles ganz genau in der Fehlermeldung.
Lad die Datei mit Pfad und nur wenn es se gibt.
Andreas95 - Mi 12.01.11 21:11
Verstehe, das mit fileexist wusste ich nicht, funktioniert aber einwandfrei. Danke. Aber der Grund weshalb
ich hier so verzweifelt frage ist, das es früher immer genau so funktionierte. Egal, danke für die Hilfe :)
jaenicke - Mi 12.01.11 21:36
Andreas95 hat folgendes geschrieben : |
Aber der Grund weshalb ich hier so verzweifelt frage ist, das es früher immer genau so funktionierte. |
Dann hattest du die Exception in Delphi auf ignorieren gestellt. Du kannst in den Debuggeroptionen einstellen, ob und welche Exceptions dir zum Debuggen angezeigt werden sollen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!