Autor Beitrag
Andreas95
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Mi 12.01.11 20:44 
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:
ausblenden 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?
Einloggen, um Attachments anzusehen!
haentschman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 285
Erhaltene Danke: 33


DX10 Berlin Professional
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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:
www.delphi-library.d...ewtopic.php?p=499701
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: 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.

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Andreas95 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 12.01.11 21:36 
user profile iconAndreas95 hat folgendes geschrieben Zum zitierten Posting springen:
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.