Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Доступ [D5, Win95/98, WinXP]


GanibalLector ©   (2004-08-25 18:42:00) 

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


GanibalLector   (2004-08-26 19:02:00) [1]

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


clickmaker   (2004-08-26 12:27:00) [2]

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;


Digitman   (2004-08-26 09:57:00) [3]


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


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

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

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


GanibalLector   (2004-08-25 21:41:00) [4]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо