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

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

Доступ к файлу, занятому другим процессом [D7]


Gloomer ©   (2006-09-24 21:13:00) 

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


Ketmar   (2006-09-24 23:52:00) [1]

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


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

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


Ketmar   (2006-09-24 23:13:00) [3]

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


Gloomer   (2006-09-24 23:12:00) [4]

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


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

fmShareDenyNone


Gloomer   (2006-09-24 21:33:00) [6]

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


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

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


Gloomer   (2006-09-24 21:20:00) [8]

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


Ketmar   (2006-09-24 21:14:00) [9]

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


Наверх

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