Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.036 c
3-1094053694
Алексей
2004-09-01 19:48
2004.10.03
FOX,ADO и отрицательные числа


1-1094652193
appendix
2004-09-08 18:03
2004.10.03
Зависание при запуске


14-1095319510
VID
2004-09-16 11:25
2004.10.03
Зацените, плиз...


1-1095259504
hgd
2004-09-15 18:45
2004.10.03
Подскажите компонент


3-1094573355
tytus
2004-09-07 20:09
2004.10.03
DBGRID





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский