Registriert seit: 16. Aug 2003
200 Beiträge
|
Re: Warten bis Datei geschlossen ist
23. Mär 2010, 19:21
Ein ausgelagerter Thread der den Rest der Anwendung nicht ausbremst und solange versucht die Datei zu öffnen bis GetLastError <> ERROR_SHARING_VIOLATION, sonst Sleep(10?). Da der Thread die meiste Zeit schläft braucht er kaum Zeit.
Was wird dadurch also großartig an Resourcen "verbraucht"? Auf jeden Fall deutlich weniger als durch ReadDirectoryChanges - das bremst bei falscher Implementierung "richtig".
"Unsauber programmiert" ist das ReadDirectoryChanges von Microsoft, da es die Events zu Zeiten feuert wo noch niemand etwas mit anfangen kann.
Eine Nachricht ala "jetzt darfst Du" gibt es nicht.
Das Polling ist in meinen Augen die einzig sinnvolle Lösung.
MfG,
Dirk
EDIT: FindFirstChangeNotification feuert auch zu früh, es kann also auch damit vorkommen das die Datei noch nicht zugriffsbereit ist.
|