Einzelnen Beitrag anzeigen

Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#1

Auf Dateiänderung reagieren!

  Alt 11. Okt 2006, 15:50
Huhu ich mal wieder!

Ich möchte einen Event auslösen sobald eine bestimmte Datei geschrieben/geändert wurde.
Mein erster Einfall sieht so aus:

Delphi-Quellcode:
procedure TFmain.timer_meldungsinhaltTimer(sender: TObject);
//Ein Timer der im 50ms Intervall prüft ob die Datei Meldungsinhalt geändert wurde
BEGIN
if FileExists(meldungsinhalt) then //existiert das file überhaupt?
 begin
  if GetFileLastAccessTime(meldungsinhalt) = now then
   begin
    Showmessage('Die Datei wurde geändert!');
   end;
 end;
END
Soderle. Auf meiner Entwicklungsmaschine funktionert das prima, sobald ich die Datei abspeicher kommt die Message.
Dann hab ich das Programm auf dem Zielsystem kopiert und laufen lassen. Von 20 Speicherversuchen der Datei registriert mein Timer vielleicht 2 ... wenn überhaupt. Verstehe ich nicht so ganz.

Ich hab das INtervall auch mal auf 1 gesetzt... aber das half auch nicht. Ausserdem mach ich mir das Sorgen um die Performance wenn da jede Millisekunde der Timer rödelt.


Nun die Frage: gibt es eine elegandere Methode um auf das Ändern einer Datei zu reagieren als den letzen Dateizugriff?
  Mit Zitat antworten Zitat