Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.16;
Скачать: CL | DM;

Вниз

Как проверить занят ли файл или нет?   Найти похожие ветки 

 
Jack ©   (2003-08-11 14:52) [0]

Монитор каталогов должн при появлении файлов передовать их на обработку. Но при использовании функций FindFirstChangeNotification/FindNextChangeNotification невозможно определить событие, когда файл полностью скопирован в директорию. Как можно решить эту проблему?


 
panov ©   (2003-08-11 15:06) [1]

FILE_NOTIFY_CHANGE_LAST_WRITE
Any change to the last write-time of files in the watched directory or subtree causes a change notification wait operation to return. The operating system detects a change to the last write-time only when the file is written to the disk. For operating systems that use extensive caching, detection occurs only when the cache is sufficiently flushed.

Пробовал?


 
Jack ©   (2003-08-11 15:55) [2]

Не правильно описал ситуацию. В директорию может копироваться несколько файлов одновременно и из разных источников. GhangeNotification не возвращает имени файла - источника события. Поэтому просматриваю каталог с помощью FindFirst/FindNext и получаю список файлов, среди которых есть еще открытые. Как открытые файлы можно исключить из списка?


 
panov ©   (2003-08-11 16:32) [3]

К сожалению, таким способом не сможешь определит завершение записи файла.

Попробуй воспользоваться ReadDirectoryChangesW, но только в ОС не ниже WinNT...


 
panov ©   (2003-08-11 16:36) [4]

Можно пытаться открывать файл для проверки в эксклюзивном режиме, но это не 100% метод.


 
Jack ©   (2003-08-11 16:52) [5]

В том то и дело... Программа будет работать, вероятнее всего, под Win98.
Ну чтож, будем пробовать...


 
Verg ©   (2003-08-12 08:56) [6]

Сначала файл должен быть ненулевой длины, а затем
попытка переименовать файл самого в себя:

if renamefile(fname, fname) then файл записан полностью else нет.



Страницы: 1 вся ветка

Текущий архив: 2003.10.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
14-51482
Митяй
2003-09-28 17:17
2003.10.16
И всё-таки какой тип БД выбрать....


1-51252
ZasranYolidza
2003-10-02 20:22
2003.10.16
TFileStream?


1-51342
MIKL
2003-10-05 18:52
2003.10.16
Меню как в Delphi!


1-51235
Alexious
2003-10-02 19:40
2003.10.16
Перевод систем исчисления


14-51500
MIKL
2003-09-28 12:13
2003.10.16
Помогите люди добрые!