![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
DeeMon |
![]()
Сообщение
#1
|
Гость ![]() |
Есть программа нижнего уровня на Турбо Паскале(ТП) которая обменивается файлами с другой программой верхнего уровня (на Fox) по средствам сети. Так вот, та программа, которая написана на ТП находится на компе под DOS и сеть на нем соответственно под DOS и подключен сетевой диск на который эта программа пишет те самые файлы для обмена. Проблема заключется в следующем:
когда верхний уровень отваливается (перезагружается, выключается и тд) нижний уровень должен работать как ни в чем не бывало, с той лишь разницей, что он не должен ни какие файлы никуда не передавать, как определить что нет сетевого диска без всяких задержек, (дело в том, что я пробовал определять это с помощью DiskSize(5) но в этом случае похоже, что он ждет какие-то там тайм ауты(чисто мое предположение) и программа в этом месте жутко тормозит, что недопустимо в моем случае) за любую помощь заранее благодарен |
![]() ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Ну есть пожалуй еще проще способ:
1. Для определения доступности сетевого диска, попробуйте использовать переменную IoResult, то есть выполняем любую операцию с файлом на этом диске, например Reset(f), если диска нет, то в переменную IoResult будет помещен код ошибки, при этом операция выполнится очень(1) быстро. 2. Есть второй способ, не задумываясь пишите файлы на диск, и если происходит критическая ( RUN-TIME ERROR) ошибк, выполняйте нужные дейсвтия. Но в этом случае, как Вы сами понимаете, необходимо обрабатывать критические ошибки. Если заинтерисуетесь этим методом, могу выложить модуль (из книги Фаронова) "обработка критическихз ошибок" -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 5.09.2025 11:59 |