Es werden (wohl) bei jedem Zugriff auf die Datei(en) die Events ausgelöst
und nicht erst nachdem alles vorbei ist.
Delphi-Quellcode:
CreateFile
WriteFile
WriteFile
WriteFile
CloseFile
Ich weiß nicht , in wie Weit Windows kurz hintereinander auftretende Ereignisse schon vorfiltert, aber hier können bis zu 3 Änderungsmitteilungen auftreten.
GetFileSecurity sagt nur, daß du, laut den Sicherheitseinstellungen, die Rechte hast da zu schreiben. Ob die Datei durch einen anderen Prozeß im Zugriff steht und diese dier über die Sharing-Rechte der Zugriff verwehrt wird, wird da nicht beachtet.
IsFileInUse
PS: Genau diese Frage taucht hier öfters auf und auch vor Kurzem war das wieder mal der Fall
und immer wieder werden Lösungen genannt.
ReadDirectoryChangesW
Jaja, hier schlägt wieder mal die Längenbegrenzung des ForumSuchIndize zu, aber es gibt ja noch andere Wege.
- andere Suchwörter (dieses bot sich nur an, weil es oftmals auch in diesen Threads erwähnt wird)
- andere Suchmaschienen
[google]ReadDirectoryChangesW site:delphipraxis.net[/google] ... 10 Seiten voller Ergebnisse und gleich die Erste heißt "ReadDirectoryChangesW wird mehrfach ausgelöst. Warum?"
ReadDirectoryChangesW (oben rechts auf "DelphiPRAXiS" umschalten)