Einzelnen Beitrag anzeigen

Carsten1234

Registriert seit: 9. Apr 2008
Ort: Vechelde
178 Beiträge
 
Delphi 8 Professional
 
#1

Sporadischer E/A 6 Fehler

  Alt 26. Feb 2009, 07:32
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:
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;
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.
Hat jemand eine Erklärung dafür?
E/A-Fehler 6 ist lt. Hersteller ein INVALID_FILE_HANDLE...

Dank vorab und Gruß, Carsten
  Mit Zitat antworten Zitat