Главная страница
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.277 c
14-1130951141
Piter
2005-11-02 20:05
2005.11.27
Кто-нибудь работал с контроллерами Advantech ADAM?


1-1130941441
Владислав
2005-11-02 17:24
2005.11.27
Размещение экземпляра класса по заданному адресу.


2-1131605582
начиннающий
2005-11-10 09:53
2005.11.27
DynamicSkinForm


3-1129268518
Alex--
2005-10-14 09:41
2005.11.27
Проблема переноса данных из одной БД в другую


9-1121684490
FRick
2005-07-18 15:01
2005.11.27
Шрифт ttf в GLScene!