Форум программистов, компьютерный форум, киберфорум
Visual FoxPro
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
1

Дождаться освобождения файла другим процессом

25.12.2013, 17:15. Показов 3117. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго дня, форумчане.
Подскажите, пожалуйста, есть ли в Visual Foxpro команда с помощью которой можно проверить занятость файла?
Ситуация следующая: Одна программа готовит файлы *dbf для другой программы, написанной на Foxpro. И запускает её.
На Windows 98 всё проходит нормально, а вот на Windows XP выдаётся сообщение типа "File access denied".
Я так понимаю, что этот файл просто не успел освободиться той первой программой. Потому что делаю Suspend, потом Resume и всё нормально продолжается.
Можно ли как-нибудь проверить занятость файла и продолжить только в том случае, если он освободился?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2013, 17:15
Ответы с готовыми решениями:

Как дождаться закрытия файла другим процессом/потоком
Всем привет. Допустим известно имя файла. Необходимо: * найти его. * если его сейчас...

Дождаться освобождения файла
Добрый вечер, господа. Есть файл result.wav, который бывает то свободен, то занят. При попытке...

Чтение файла занятого другим процессом
Нашел много по этому вопросу, да и сам когда то делал но сейчас не работает. Файл занят другим...

Чтение из файла занятого другим процессом
Добрый день! Прошу помочь. Есть программа которая записывает в файл TXT данные, вторая программа...

5
187 / 180 / 29
Регистрация: 26.05.2011
Сообщений: 856
26.12.2013, 07:05 2
я избавлялся от такой проблемы (если, конечно, у вас именно такая проблема) выводом сообщения для пользователя с тайм-аутом, у меня требовалась секунда. Я воспользовался messagebox(), последним параметром там задается время показа сообщения. Если проблема идентична, то вам достаточно будет полсекунды.
1
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
26.12.2013, 07:35  [ТС] 3
А если использовать:
TRY...CATCH...FINALLY
Или ON ERROR ?

Что скажете?
0
187 / 180 / 29
Регистрация: 26.05.2011
Сообщений: 856
26.12.2013, 08:03 4
да, как вариант тоже можно использовать, но использовать обработчик ошибок не для ошибок, мне кажется, это как микроскопом гвозди. Ошибку надо исправлять, а не приделывать костыль. Если программа просит подождать, то нужно подождать
1
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
26.12.2013, 08:27  [ТС] 5
Предполагаю повторять операцию открытия файла пока не исчезнет ситуация ошибки. Почему нет?
А, как вариант, и микроскопом гвозди можно.
Слышал историю: Экспедиция где-то в Антарктиде погибла из-за того, что небыло чем открыть банки с консервами. В той ситуации и микроскопом бы пытались открыть.
0
187 / 180 / 29
Регистрация: 26.05.2011
Сообщений: 856
26.12.2013, 10:30 6
Тогда обязательно проверяйте номер ошибки, на которую будете писать метод открытия файла, иначе рано или поздно у вас может возникнуть ситуация, когда возникнет другая ошибка, для примера: виндовые права на файл добавятся, и ваша программа намертво зависнет и будет бесконечно пытаться открыть файл, не выдавая никаких сообщений. Или сделайте ограничение на количество "ложных" открытий, не смогла со 100 раз файл открыть - вывести сообщение, мол так и так, не открывается файлик, что-то не по плану.
1
26.12.2013, 10:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2013, 10:30
Помогаю со студенческими работами здесь

Проверка занятости файла другим процессом
Здравствуйте. Существует ли метод, сообщающий, записывается ли файл другим процессом? Хочется...

Чтение файла занятого другим процессом
Приветствую. Сразу к сути. Есть бинарный файл в который постоянно пишется информация. Как мне...

Удаление файла который занят другим процессом
Добрый вечер, и так задам животрепещущий вопрос для меня. Хочу на QT сделать Unlocker (программа...

Ошибка открытия файла, так как он занят другим процессом
Возникла проблема: при нажатии на кнопку прописал код, чтобы открывался файл из определенной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru