![]() |
Sporadischer E/A 6 Fehler
Hallo zusammen,
von einem über COM angeschlossenes Gerät werden Daten ausgelesen und in eine (Text-) Datei geschrieben. Ist dieser Vorgang abgeschlossen, wird die Datei zuerst natürlich geschlossen, um sie dann im nächsten Schritt lesen zu öffnen. Dabei tritt allerdings sporadisch ein E/A-Fehler 6 auf, den ich mir nicht erklären kann. Der Code:
Delphi-Quellcode:
Es knallt an der Stelle "while not (EoF(EventFile)) do", was ich erst recht merkwürdig finde, da ich zuvor auf IOResult=0 geprüft hatte.
var EventFile: System.Text;
Zeile : string; (...) begin {$I-} System.AssignFile(EventFile, 'test.tmp'); System.Rewrite(EventFile); {$I+} if (System.IOResult = 0) then begin repeat {Zeichen vom Gerät auslesen} System.Write(EventFile, {EinZeichen}); until {Abbruchbedingungen} System.CloseFile(EventFile); end; {$I-} System.AssignFile(EventFile, 'test.tmp'); System.Reset(EventFile); {$I+} if (System.IOResult = 0) then begin while not (EoF(EventFile)) do begin System.Readln(EventFile, Zeile); end; System.CloseFile(EventFile); end; Hat jemand eine Erklärung dafür? E/A-Fehler 6 ist lt. ![]() Dank vorab und Gruß, Carsten |
Re: Sporadischer E/A 6 Fehler
Nimm mal komplette Pfadangaben (z.B. mit ExtractFilePath(Application.ExeName) + '\test.tmp'). Ansonsten kann es dir passieren das die Datei entsprechend gerade dem zufälligen aktuellen Pfad der Anwendung erstellt wird.
|
Re: Sporadischer E/A 6 Fehler
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 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 by Thomas Breitkreuz