Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2012, 18:44   #1
alkador
Пользователь
 
Регистрация: 01.05.2010
Сообщений: 29
Стрелка Этот файл занят другим процессом

Имеется текстовый файл, который довольно часто обновляется сторонней программой. Мне нужно импортировать его в Memo. Соответственно, возникает ошибка: “Процесс не может получить доступ к файлу, так как этот файл занят другим процессом”. Каким образом можно понять, отрыт ли в данный момент файл или нет?
Код пока такой:

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
trig:=true;
repeat
Memo1.Clear;
Memo1.Lines.LoadFromFile('C:\1.txt');
sleep(100);
application.ProcessMessages;
until trig=false;
end;
alkador вне форума Ответить с цитированием
Старый 26.06.2012, 18:45   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

try except применить?

а вообще стоит попробовать открыть через TFileStream с разрешенным шарингом, авось откроется.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.06.2012, 19:03   #3
alkador
Пользователь
 
Регистрация: 01.05.2010
Сообщений: 29
По умолчанию

Ошибка не в дельфи, а в винде. Файл я не открываю, а сразу загружаю в Memo. Мне бы хотелось какое-нибудь условие наложить, мол, если файл занят, то повторить еще раз)
alkador вне форума Ответить с цитированием
Старый 26.06.2012, 19:09   #4
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

открыть файл для чтения, а потом уже загружать в Мемо
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 26.06.2012, 20:17   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Ошибка не в дельфи, а в винде.
Ошибка в непонимании советов.
try except позволит тебе обработать исключение при открытии файла - это именно то над чем стоит подумать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.06.2012, 21:27   #6
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Каким образом можно понять, отрыт ли в данный момент файл или нет?
Надёжно - нельзя никаким иным способом, кроме как попытаться открыть файл.

Цитата:
Имеется текстовый файл, который довольно часто обновляется сторонней программой.
Читай про режимы открытия. Возможно поможет. Но только "возможно".

Цитата:
Ошибка не в дельфи, а в винде
Ошибки здесь нет.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить каким процессом занят файл SibBear Win Api 4 24.01.2020 01:50
Как скопировать файл, который занят другим приложением? Greek9000 Общие вопросы Delphi 3 09.02.2011 11:28
Файл занятый другим процессом Thandem Помощь студентам 0 26.09.2010 01:33
Если файл заблокирован другим процессом КаМММ Microsoft Office Excel 2 20.05.2010 00:12
Файл занят другим процессом Adonidi Общие вопросы Delphi 4 25.03.2010 21:38