Текущий архив: 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.046 c