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

Вниз

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

 
ANB ©   (2005-09-23 17:05) [40]


> Или например, при запуске проги надо убедиться, что это
> первый ее екземпляр.
- это делается намного проще. А вот конкретный пример из реального проекта :
Есть консольная прога (текстовый режим, никаких окон), она время от времени отвечает на звонки по модему и складывает ответ в файл. Другая прога должна прочитать этот файл только, когда он не занят (в него не пишут). Повторное чтение неизмененного файла уже обработано и некритично. Вот таким способом и сделано - каждая из прог открывает файл в монопольном режиме и если не получается - ждет, пока получится. Хотя я бы сам, имхо, сделал бы по другому, но это самый тупорылый вариант, с учетом того, что из управляещей проги нет доступа к WinAPI.


 
Мексиканец ©   (2005-09-24 00:27) [41]

Не пойму чем не нравится такая конструкция?
hFile:= CreateFile();
if hFile = -1 then
 case GetLastError() of
 ...
 end;
Если можно объясните? Тем более что можно точно узнать причину по которой файл открыть не удалось. У меня, где-то была таблица значения возвращаемых значений, будет время, найду и кину сюда.


 
Мексиканец ©   (2005-09-24 00:47) [42]

umbra ©  (23.09.05 14:43) [31]

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

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

>Или например, при запуске проги надо убедиться, что это первый ее
>екземпляр.

ИМХО строить решение данной задачи на файле, не стоит.


 
Fay ©   (2005-09-24 02:44) [43]

2 ANB ©   (23.09.05 17:05) [40]
>> с учетом того, что из управляещей проги нет доступа к WinAPI
Это как?!



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

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

Наверх




Память: 0.54 MB
Время: 0.028 c
14-1131301117
ArtemESC
2005-11-06 21:18
2005.11.27
Лучший Хостинг ...


3-1129300957
Woolen
2005-10-14 18:42
2005.11.27
"sql state 42000 error code 0" при поиске по GUID через dbExpress


3-1129533126
antoxa2005
2005-10-17 11:12
2005.11.27
Кто-то писал о том, как сохранять в Access документ Word или Карт


14-1131418978
TModem
2005-11-08 06:02
2005.11.27
У кого нибудь есть модем Zyxel UNO ?


14-1131517278
Lamer@fools.ua
2005-11-09 09:21
2005.11.27
В Киеве уже который день туман