Entwickler-Ecke
Dateizugriff - Speichern -> Exception: EInOutError - Meldung 'E/A-fehler
p4nsen - Fr 14.11.03 13:25
Titel: Speichern -> Exception: EInOutError - Meldung 'E/A-fehler
hab da so ne tolle fehlermeldung in meinem progg :shock: , würde nur gern mal wissen wo mögliche fehlerquellen liegen könnten
der fehler lautet wortwörtlich wiefolgt:
Zitat: |
Im Projekt "Name.exe" ist eine Exception der Klasse EInOutError aufgetreten. Meldung 'E/A-fehler 32'. Prozess wurde angehalten. Mit einzelnen .... usw. |
was kann ich da jetzt machen, wo sollte ich als 1. nachschaun... der fehler tritt halt immer wenn ich speicher auf... da stimmt irgendwas beim dateischreiben nicht, glaube ich.
thx schonma
Moderiert von
Tino: Quote-Tags hinzugefügt; Titel geändert; Topic verschoben.
ErnestoChe - Fr 14.11.03 13:43
Hi,
allgemeine Frage allgemeine Antwort:
Delphi-Hilfe hat folgendes geschrieben: |
EInOutError ist die Exception-Klasse für Fehler bei der Dateieingabe/-ausgabe. |
Wenn du genau wissen möchtest, warum der Fehler bei dir auftritt, solltest du uns schon mehr Angaben liefern und vor allem deinen Code zum Dateischreiben.
MFG
- Ernesto -
p4nsen - Fr 14.11.03 13:57
naja das mit dem code würd eventuell auch net unbedingt viel helfen, ich poste ihn trotzdem ma
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| <span style="font-weight: bold">procedure</span> TFPara.Schreibe_Dat; <span style="font-weight: bold">var</span> f01 : TextFile; i : integer; dat : string; begin dat := 'test.dat'; SetLength(zahl , nz + 1); AssignFile(f01 , ppf + dat); if FileExists (ppf + 'initest.ini') then begin if Vergleich(1, dat) then begin exit; end; end; Rewrite(f01); Writeln(f01, nx,' ', ny,' ', nz); for i := 1 to nz do begin if RB04.Checked then begin zahl[i] := StrToFloat(Tab01.Cells[1 , i]); end; Writeln(f01, zahl[i]); end; CloseFile(f01); end; |
Moderiert von
Tino: Delphi-Tags hinzugefügt.
JoelH - Fr 14.11.03 14:02
Titel: hmm,
und ich welcher Zeile passiert der Fehler dann ?
p4nsen - Fr 14.11.03 14:08
der fehler passiert beim Rewrite(f01);
wenn die datei halt angelegt werden, bzw. neu geschrieben werden soll
Keldorn - Fr 14.11.03 14:14
Hallo
zeig mal bitte deine Ladenprocedure und benutzt bitte delphi-tags und keine quote tags.
kann es sein, daß du beim laden vergißt, die Datei zu schließen?
Mfg Frank
p4nsen - Fr 14.11.03 14:26
schließen tu ich die datei schon, hier ma meine laden/lesen funktion
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| function TFPara.Lese_Dat(wahl : integer) : boolean; var f01 : TextFile; i : integer; dat : string;
begin result := False; dat := 'test.dat'; SetLength(zahl, nz + 1); AssignFile(f01 , ppf + dat); Reset(f01); Readln(f01, v_nx, v_ny, v_nz); if Vergleich(1 , dat) then begin result := True; exit; end; case wahl of 1: for i := 1 to nz do begin Readln(f01, zahl[i]); end; 2: exit; end; CloseFile(f01); end; |
Moderiert von
Klabautermann: Delphi-Tags hinzugefügt.
Keldorn - Fr 14.11.03 14:34
Du könntest dir mit den Delphi-tags ruhig etwas mühe geben :roll: das macht den code leserlicher
p4nsen hat folgendes geschrieben: |
schließen tu ich die datei schon, hier ma meine laden/lesen funktion
|
sicher?
du öffnest die
Zitat: |
function TFPara.Lese_Dat(wahl : integer) : boolean;
...
AssignFile(f01 , ppf + dat);
Reset(f01);
...
|
und schließt die wieder
dazwischen sehe ich jede menge exit´s. wenn ein exit angesprochen , wird dein closefile nie erreicht, die datei bleibt offen und ist höchstwahrscheinlich deine Exception ursache.
Mfg Frank
p4nsen - Fr 14.11.03 14:49
lol :lol: ok hast recht, durch meinen 2. case fall ist der fehler entstanden ^^
hab den zweig jetzt ganz weggelassen, da er so oder so eine unnütze funktion hatte
danke nochma bin echt fast verzweifelt :roll: :roll:
thxxxxxxxxxxxxxxxx :D
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!