3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
|
1 | |
Дождаться освобождения файла другим процессом25.12.2013, 17:15. Показов 3117. Ответов 5
Метки нет (Все метки)
Доброго дня, форумчане.
Подскажите, пожалуйста, есть ли в Visual Foxpro команда с помощью которой можно проверить занятость файла? Ситуация следующая: Одна программа готовит файлы *dbf для другой программы, написанной на Foxpro. И запускает её. На Windows 98 всё проходит нормально, а вот на Windows XP выдаётся сообщение типа "File access denied". Я так понимаю, что этот файл просто не успел освободиться той первой программой. Потому что делаю Suspend, потом Resume и всё нормально продолжается. Можно ли как-нибудь проверить занятость файла и продолжить только в том случае, если он освободился?
0
|
25.12.2013, 17:15 | |
Ответы с готовыми решениями:
5
Как дождаться закрытия файла другим процессом/потоком Дождаться освобождения файла Чтение файла занятого другим процессом Чтение из файла занятого другим процессом |
187 / 180 / 29
Регистрация: 26.05.2011
Сообщений: 856
|
|
26.12.2013, 07:05 | 2 |
я избавлялся от такой проблемы (если, конечно, у вас именно такая проблема) выводом сообщения для пользователя с тайм-аутом, у меня требовалась секунда. Я воспользовался messagebox(), последним параметром там задается время показа сообщения. Если проблема идентична, то вам достаточно будет полсекунды.
1
|
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 | |
26.12.2013, 10:30 | |
Помогаю со студенческими работами здесь
6
Проверка занятости файла другим процессом Чтение файла занятого другим процессом Удаление файла который занят другим процессом Ошибка открытия файла, так как он занят другим процессом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |