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

Вниз

Доступ   Найти похожие ветки 

 
GanibalLector ©   (2004-08-25 18:42) [0]

Подскажите каким образом можно узнать(и можно ли вообще) открыт ли  файл другим процессом.Т.е. разрабатываю программу совместно с др.разработчиками и по тех.заданию необходимо не удалять файл до тех пор,пока все "читатели и писатели" )) этого файла не исчезнут.
Так вот,собственно, и вопрос...КАК ???
З.Ы. Пробовал Mode разные(fmShareExclusive и т.д.),но это все от Лукавого.


 
GanibalLector ©   (2004-08-25 21:41) [1]

Что,не знаете ??? Жаль,ОЧЕНЬ ЖАЛЬ...


 
Digitman ©   (2004-08-26 09:57) [2]


> не удалять файл до тех пор,пока все "читатели и писатели"
> )) этого файла не исчезнут


а ты и не сможешь его (файл) удалить, пока он открыт кем-то ..
(кем и с каким доступом - неважно)

поэтому вся эта петрушка сводится к простейшему циклу

while not DeleteFile(..) do чего-нибудь полезное


 
clickmaker ©   (2004-08-26 12:27) [3]

while (true) do begin
   hFile := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
   dwError := GetLastError;
   if (hFile <> INVALID_HANDLE_VALUE) then
     CloseHandle(hFile);
   if (dwError <> ERROR_SHARING_VIOLATION) then
     Break;
   Sleep(2000);
 end;


 
GanibalLector ©   (2004-08-26 19:02) [4]

Опс...и правда,если сделать так :
hFile:=CreateFile(
                 pChar(MyFaYlO),
                 GENERIC_READ or GENERIC_WRITE,
                 0,
                 nil,
                 OPEN_ALWAYS,
                 FILE_ATTRIBUTE_NORMAL,
                 0);
sleep(10000);
CloseHandle(hFile);
то нельзя удалить.
Спасибо!!!
З.Ы. Просто я открывал файл проводником,а потом его удалял.Так вот,видимо при открытии он(файл) весь считывается и сразу закрывается.
И поэтому,я посчитал,что [0].Еще раз спасибо.



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

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

Наверх




Память: 0.47 MB
Время: 0.034 c
14-1095427943
peypivo
2004-09-17 17:32
2004.10.03
Что лучше 1с или Парус ?


4-1093464085
dRake
2004-08-26 00:01
2004.10.03
TBitmap.LoadFromFile - Какое исключение?


1-1095192147
Саня
2004-09-15 00:02
2004.10.03
Как сушествить перевод числа?


3-1094023623
Алексей
2004-09-01 11:27
2004.10.03
Запрос 2 таблицам


1-1095244218
1008
2004-09-15 14:30
2004.10.03
Удаление символа из вставленного в M$ Word текста