Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отловить момент изменения файла


cyborg ©   (2008-05-25 19:33:00) 

Есть две программы, использующие один и тот же файл. Одна программа изменяет файл, другая программа при этом должна перечитать себе файл заново. Единственное, что мне приходит на ум это постоянно проверять дату создания файла. Как это лучше сделать?


Leonid Troyanovsky   (2008-05-26 09:43:00) [1]


> cyborg   (25.05.08 19:33)  

> Есть две программы, использующие один и тот же файл. Одна
> программа изменяет файл, другая программа при этом должна
> перечитать себе файл заново.

Если все находится на одном компьютере, то, например,
файл открывается пишущей программой, а читающей -
проекция этого файла (view of a memory mapped file) только для чтения. Писатель после изменений файла уведомляет читателя неким способом
Interprocess Communication.

--
Regards, LVT.


Lumen   (2008-05-26 08:32:00) [2]

>cyborg   (25.05.08 19:33)
Для чего вторая программа перечитывает файл?
Если она его периодически использует, то пусть по необходимости использования и перечитывает.


Loginov Dmitry   (2008-05-26 07:58:00) [3]

> Есть две программы, использующие один и тот же файл. Одна
> программа изменяет файл, другая программа при этом должна
> перечитать себе файл заново. Единственное, что мне приходит
> на ум это постоянно проверять дату создания файла. Как это
> лучше сделать?


Если б обе программы разрабатывались мною, то, вероятно, я бы создал мьютекс, и под его защитой выполнял любые обращения к файлу, проверяя дату файла перед копированием. Можно с учетом ReadDirectoryChangeW(), можно по таймеру - для одного файла это не принципиально.


Умище   (2008-05-25 19:34:00) [4]


> cyborg   (25.05.08 19:33) 


См. ReadDirectoryChangeW


Наверх

Титульная страница Поиск, карта сайта Написать письмо