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

Вниз

Доступ к файлу, занятому другим процессом   Найти похожие ветки 

 
Gloomer ©   (2006-09-24 21:13) [0]

В строке
Stream := TFileStream.Create(FileName+fDLog, fmOpenRead);
вылетает ошибка "Процесс не может получить доступ к файлу, т.к. файл занят другим процессом"
На что надо заменить fmOpenRead ?


 
Ketmar ©   (2006-09-24 21:14) [1]

добавить ro fmShareDenyWrite, например. или почитать, наконец, справку...


 
Gloomer ©   (2006-09-24 21:20) [2]

Изначально так и было.
Точнее, использовалось TStrings.LoadFromFile, где так и описано
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
Но это не решает проблемы.
При этом файл прекрасно открывается другими программами


 
Правильный Вася   (2006-09-24 21:25) [3]

>>> файл прекрасно открывается другими программами
они его и держат???


 
Gloomer ©   (2006-09-24 21:33) [4]

Нет - не они.
Процесс, который держит - известен.
При этом при открытии тем же блокнотом процесс уже запущен и использует нужный файл и блокнот его открывает.


 
Ketmar ©   (2006-09-24 22:25) [5]

fmShareDenyNone


 
Gloomer ©   (2006-09-24 23:12) [6]

2 Ketmar
Оно самое - спасибо


 
Ketmar ©   (2006-09-24 23:13) [7]

>[6] Gloomer(c) 24-Sep-2006, 23:12
>2 Ketmar
>Оно самое - спасибо
только учти -- это опасно. мало ли, что там, в файле, поменяют, пока ты его читаешь.


 
ProgRAMmer Dimonych   (2006-09-24 23:38) [8]

Есть ещё TMemoryStream с методом LoadFromFile. Читаем, меняем всё, что душе угодно, вызываем SaveToFile и по фигу, кто там что поменял за время работы.


 
Ketmar ©   (2006-09-24 23:52) [9]

>[8] ProgRAMmer Dimonych 24-Sep-2006, 23:38
>и по фигу, кто там что поменял за
>время работы.
особенно, если это файл со структурой и данными, например. закешированый программой. ей будет очень удивительно.



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

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

Наверх




Память: 0.46 MB
Время: 0.049 c
11-1133822851
NewApplet
2005-12-06 01:47
2006.10.08
Чем можно заменить Applet ?


3-1154527729
Scorpio
2006-08-02 18:08
2006.10.08
Получение номера из БД в программу


2-1158585885
ЕгкищЗфысфд
2006-09-18 17:24
2006.10.08
из массива в массив


4-1148627530
mariya_mezenceva
2006-05-26 11:12
2006.10.08
чтение из com-порта


15-1158417939
Furyz
2006-09-16 18:45
2006.10.08
Баг





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский