Moin Zusammen,
im Konstruktor eines TThread hole ich mir ein
Handle auf ein Verzeichnis:
Delphi-Quellcode:
FhDir := CreateFile(PChar(FsPath),FILE_LIST_DIRECTORY or GENERIC_READ,
FILE_SHARE_READ or FILE_SHARE_WRITE or FILE_SHARE_DELETE, nil,
OPEN_EXISTING,FILE_FLAG_BACKUP_SEMANTICS,0);
Dieses wird dann in der Execute-Methode von ReadDirectoryChangesW zur Überwachung des Verzeichnisses verwendet.
(In einer while not terminated do Schleife)
Bis hierhin ist alles gut, und funktioniert wie es soll.
Im Destruktor wird dann das
Handle auf Gültigkeit geprüft, und ggf. mit CloseHandle geschlossen.
Soviel zur Theorie, denn CloseHandle kehrt nicht zurück, und das Programm hängt.
Hat irgendjemand eine Idee, was das sein kann?