![]() |
noch einmal E/A Fehler 6
Seit einem Stromausfall wird beim Lesen einer Textdatei der Fehler "E/A Fehler 6" ausgegeben.
Habe sowohl Outbyte Repair laufen lassen als auch PC Repair. Fehler bleibt. In einem anderen Programm, dass auch ausseiner Textdatei liest, tritt der Fehler nicht auf. Code nachstehend. Kann mir jemand helfen ? Procedure DATEN_LESEN; var f : TextFile; s : String; begin AssignFile(f,'C:\Team\TDaten.txt'); reset(f); try while not eof(f) do begin readln (s); { hier Fehlermeldung "E/A Fehler 6" } ShowMessage('s = ' + s) end; finally CloseFile(f); end; { Übernehme ich naachstehenden von Moderator Luckie in Delphi-Praxis empfohlenen Code, wird in Zeile "Reset(F,1]" gemeckeret : "E2034 zu viele Parameter !" AssignFile(F, 'C:\Team\TDaten.txt'); {$I-} // interne fehlerbehandlung ausschalten, machen wir selber { Reset(F,1); {$I+} { if IOResult = 0 then // unsere Fehlerbehandlung begin Seek(F,FileSize(F)-128); BlockRead(F, Buffer, SizeOf(Buffer)); CloseFile(F); end else ShowMessage(SysErrorMessage(getLastError)); } end; |
AW: noch einmal E/A Fehler 6
Kannst du die Txt-Datei denn in einen Editor wie Notepad++ öffnen?
![]() |
AW: noch einmal E/A Fehler 6
Delphi-Quellcode:
resourcestring SInOutError = 'E/A-Fehler %d';
und am Ende landet man bei ERROR_INVALID_HANDLE. Da ist wohl irgendwas kaputt. Ja, erstmal mit einem anderen Programm versuchen. Oder im Delphi die DebugDCUs aktivieren und schauen wo genau es knallt. Und neuere FileAPIs haben hier vielleicht auch eine bessere Fehlerbehandlung, mit verständlicherer Fehlermeldung. |
AW: noch einmal E/A Fehler 6
Versuch es mal (hilfsweise) so:
Delphi-Quellcode:
Damit könntest Du (mit etwas Glück) erfahren, in welcher Zeile der Fehler auftritt.
Procedure DATEN_LESEN;
var f : TextFile; s : String; i : Integer; begin i := 0; AssignFile(f,'C:\Team\TDaten.txt'); reset(f); try try while not eof(f) do begin i := i + 1; readln (s); { hier Fehlermeldung "E/A Fehler 6" } end; except on e : Exception do begin ShowMessage(Format('Fehler bei Zeile %d der Textdatei: %s',[i,e.Message])); end; end; finally CloseFile(f); end; end; |
AW: noch einmal E/A Fehler 6
Zitat:
|
AW: noch einmal E/A Fehler 6
Zunächst Dank an alle für die Ratschläge !
An TiGü; ja, ich kann die Textdatei öffnen und lesen an Jaenicke: Festplatte geprüft (ca. 2 Std., gefundene Fehler behoben) an Delphi-Narium: Code-Vorschlag übernommen, Ergebnis: Satz 1 der Datei an himitsu: bin (vielleicht forgeschrittener) Anfänger, aber Autodidakt, d.h. ohne richtige Ausbildung; die Begriffe "DebugCPUs" und "FileAPIs" sagen mir nichts. Gibt es dazu Quellenhinweise ? Programm bringt nach wie vor E/A Fehler 6 Habe das Programm auf Laptop mit Windows 10 kopiert und dort laufen lassen mit dem selben Ergebnis. Sollte ich vielleicht Delphi Seattle neu installieren ? |
AW: noch einmal E/A Fehler 6
Zitat:
Defekte Dateien gelöscht, ist nicht immer die Lösung. Delphi neu installieren. Bei einem Kollegen war der PC öfters abgestürtzt, wenn er mit Delphi arbeitete. Die SSD hatte defekte Sektoren selbstständig repariert, aber einige Dateien waren halt futsch. Delphi deinstallieren und neu installieren könnte vielleicht helfen ... falls die defekten Dateien welche von Delphi sind und nicht irdendwo vom Windows. * oder Alles neu installieren * oder ein Backup zurückspielen, von bevor der Defekt auftrat |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 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