Главная страница
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.059 c
1-1130941441
Владислав
2005-11-02 17:24
2005.11.27
Размещение экземпляра класса по заданному адресу.


14-1130943942
sniknik
2005-11-02 18:05
2005.11.27
Эмуляция IP адреса...


2-1131782326
RiP
2005-11-12 10:58
2005.11.27
заполнить массив


4-1127969497
Mixer
2005-09-29 08:51
2005.11.27
Balloon Tips & Windows XP


14-1130953935
TJulia
2005-11-02 20:52
2005.11.27
Постоянно зависает комп