Hallo,
ich hätt da gerne mal ein Problem:
Ich will aus einer Textdatei fortwährend die letzte Zeile auslesen. Diese Textdatei wird aber fortwährend von einem anderen Programm beschrieben (so alle 0,5 bis 1 Sekunden etwa). Wenn ich mit reset(datei) auf die Textdatei zugreifen will (mit Hilfe eines Timers, alle 5 ms), kommt (nicht immer, aber doch manchmal) die Fehlermeldung e/a-Fehler 32. Dies ist wohl eine Windows Fehlermeldung, wenn auf eine gemeinsam genutzte Datei zugegriffen wird. Wahrscheinlich wird wohl genau in diesem Moment in die Datei geschrieben. Die Textdatei ist aber nur kurz zum Schreiben geöffnet und wird dann wieder geschlossen.
Im Prinzip sieht meine Timerproc so aus:
Delphi-Quellcode:
reset(datei); {hier wird die Fehlermeldung ausgelöst}
sl := TStringList.Create;
try
sl.LoadFromFile('c:\Textdatei.txt')
finally
sl.free
end;
fileclose(datei);
Wie kann man herausfinden, ob in die Textdatei von dem anderen Programm geschrieben wird um zu verhindern, dass reset(datei) eine Fehlermeldung erzeugt? Dann soll reset(datei) nicht ausgeführt werden und die Timerproc einfach verlassen werden.
Wäre für jeden Tipp dankbar.
Herzliche Grüße