![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как поймать окончание копирования файла [D6, Win2k]
BOI © (2002-10-03 13:44:00)Доброго времени суток леди & джентельмены.
Нужна помощь. Существует программа по синхронизации файлов в определенных
каталогах и все прекрасно синхронизирует. Из собственной программы я проверяю
наличие файла в этих каталогах и начинаю работу с ним.
Но вот в чем проблема. При наличии файла большого объема на синхронизацию уходит много времени. Моя прога обнаруживает что файл уже как бы есть, хотя он не полностью скопирован, и начинает работу с ним.
Как поймать окончание копирования файла ???
p.s.
Попытки захвата файла через FileOpen с разными параметрами ни к чему не приводят.
Он успешно открывается.
Заранее огромное спасибо за любую подсказку.
Юрий Зотов (2002-10-04 16:49:00) [1]1. dwDesiredAccess = 0:
Specifies device query access to the object. An application can query device attributes without accessing the device.
То есть - GENERIC_READ, или GENERIC_WRITE, или их комбинация, но только не ноль.
2. If dwShareMode is 0, the object cannot be shared.
То есть - не надо никаких FILE_SHARE_xxx. Просто ноль.
BOI (2002-10-03 16:18:00) [2]Спасибо за посказку.
Пробовал следующим образом
FileHandle:=CreateFile(PChar(FileName), 0, FILE_SHARE_WRITE, Nil, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, 0);
Замена 0 на GENERIC_READ или GENERIC_WRITE
А так же FILE_SHARE_WRITE на FILE_SHARE_READ ни к чему не привело.
Может я не те параметры использую или что-то не правильно указал.
Song (2002-10-03 14:49:00) [3]Через CreateFile() в монопольном режиме. Не откроется.