Главная страница
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.043 c
2-1131687460
Al_Ba
2005-11-11 08:37
2005.11.27
Как программно в TreeView каждому узлу присвоить свою иконку ?


2-1131732106
ANSH
2005-11-11 21:01
2005.11.27
программа с элементами webbrowzer-a


1-1130868953
Alexander Dakis
2005-11-01 21:15
2005.11.27
Как создать динамическое выделение текста, как в редакторе Delphi


5-1112881643
Бывший студент
2005-04-07 17:47
2005.11.27
Перегрузка TCustomGrid.KeyDown


14-1131014094
QuasiLamo
2005-11-03 13:34
2005.11.27
Не хочу рекурсию