|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите - доступ двух программ к файлу .тхт
Помогите плиз.
ПРоблемка такая: Windows XP Одна программа ( не моя) периодически пишет в текстовый файл (редко). Я пытаюсь в это же время открыть этот же файл просто для чтения. Получаю Ошибку I/O 32. Не знаю что это . Но догадываюсь , что файл занят другим приложением. так как после закрытия пишущей программы - файл открывается запросто. Открываю через Reset(f) Пробовал через FileOpen(OpenDialog1.FileName, fmOpenRead) - то же Что обидно - блокнотом его в это время можно спокойно открыть.. Помогите кто может.. как получить доступ к чтению или обойти проблему? Может попробовать скопировать файл в другое место и открыть? |
#2
|
||||
|
||||
Есть глобальная переменная FileMode, она отвечает за режим открытия файла. По умолчанию она равна 2, для режима открытия "только чтение" нужно установить ее в 0 (если мне не изменяет память).
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
|||
|
|||
или попробовать загрузить через поток (TFileStream). Там можно принудительно указать режим открытия файла.
|
#4
|
|||
|
|||
Спасибо за ответы.
Пробовал менять FileMode, открывать через потоки Filestream, MemoryStream - ничего не работает. Еще что-то пробовал уже не помню... Пока нашел только обходной путь - копирую файл через CopyFile и работаю с копиеей. Хорошо , что файл маленький. Но если копируется и если Блокнотом открывается - значит есть какое-то решение по доступу.... |