![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
DeeMon |
![]()
Сообщение
#1
|
Гость ![]() |
Есть программа нижнего уровня на Турбо Паскале(ТП) которая обменивается файлами с другой программой верхнего уровня (на Fox) по средствам сети. Так вот, та программа, которая написана на ТП находится на компе под DOS и сеть на нем соответственно под DOS и подключен сетевой диск на который эта программа пишет те самые файлы для обмена. Проблема заключется в следующем:
когда верхний уровень отваливается (перезагружается, выключается и тд) нижний уровень должен работать как ни в чем не бывало, с той лишь разницей, что он не должен ни какие файлы никуда не передавать, как определить что нет сетевого диска без всяких задержек, (дело в том, что я пробовал определять это с помощью DiskSize(5) но в этом случае похоже, что он ждет какие-то там тайм ауты(чисто мое предположение) и программа в этом месте жутко тормозит, что недопустимо в моем случае) за любую помощь заранее благодарен |
![]() ![]() |
Ozzя |
![]()
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
Altair |
![]()
Сообщение
#3
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Ну есть пожалуй еще проще способ:
1. Для определения доступности сетевого диска, попробуйте использовать переменную IoResult, то есть выполняем любую операцию с файлом на этом диске, например Reset(f), если диска нет, то в переменную IoResult будет помещен код ошибки, при этом операция выполнится очень(1) быстро. 2. Есть второй способ, не задумываясь пишите файлы на диск, и если происходит критическая ( RUN-TIME ERROR) ошибк, выполняйте нужные дейсвтия. Но в этом случае, как Вы сами понимаете, необходимо обрабатывать критические ошибки. Если заинтерисуетесь этим методом, могу выложить модуль (из книги Фаронова) "обработка критическихз ошибок" -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
DeeMon |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата(Oleg_Z @ 22.09.04 18:39) Ну есть пожалуй еще проще способ: 1. Для определения доступности сетевого диска, попробуйте использовать переменную IoResult, то есть выполняем любую операцию с файлом на этом диске, например Reset(f), если диска нет, то в переменную IoResult будет помещен код ошибки, при этом операция выполнится очень(1) быстро. 2. Есть второй способ, не задумываясь пишите файлы на диск, и если происходит критическая ( RUN-TIME ERROR) ошибк, выполняйте нужные дейсвтия. Но в этом случае, как Вы сами понимаете, необходимо обрабатывать критические ошибки. Если заинтерисуетесь этим методом, могу выложить модуль (из книги Фаронова) "обработка критическихз ошибок" пробовал .... так же долго как и DiskSize |
Altair |
![]()
Сообщение
#5
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Долго????
Так, товарищ, вы время тогда называйте требуемое! А то долго - не долго .... это игра словами! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
DeeMon |
![]()
Сообщение
#6
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: ![]() ![]() ![]() |
Oleg_Z
долго это где-то около минуты |
Altair |
![]()
Сообщение
#7
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Эге ... да ... минута это серьезно ...
А оно и понятно, ведь сеть еще определить надо, а затем еще и диск на том конце... Тогда тут ни как не обойтись представлением о сетевом диске как о физическом! А может "верхняя" система посылать сообщение "нижней" что бы та остановилась? Или "верхняя" система пожет непроизвольно перегружаться, выключатся? То есть один из способов такой: При попытке перегрузить верхнюю систему, она сначала подает сигнал нижней, что отключается, а на нижней стоит резидент (или сама прога это определяет), регистрирующий отключение. Еще вопрос: а система верхняя, сильно удалена от нижней? (физическое расстояние в метрах от одной машины до другой) -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
DeeMon |
![]()
Сообщение
#8
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: ![]() ![]() ![]() |
слушайте, народ тут мне в голову пришла одна мысль (можно ведь создать рамдиск на нижнем уровне и его расшарить, тогда этот диск точно уж не будет отваливаться и файлы я могу туда писать сколько угодно, и тормозить ни чего не должно), но для этого нужен lantastic или еще какой-нить сервер по ДОС не подскажите где можно его взять
|
Altair |
![]()
Сообщение
#9
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата рамдиск Так, стоп! Тогда такое предложение системы: На нижнем уровне есть электронный диск в оперативной памяти. Программа посылающая файлы, шлет их ВСЕГДА на эл. диск. Резидент проверяет есть ли диск сетевой (1 минуту, т.к. это не важно) , и если есть отсылает их на сеть и удаляет с эл.диска. для эл.диска необходимо прописать нужные строки в AUTOEXEC.BAT и CONFIG.SYS!!! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
DeeMon |
![]()
Сообщение
#10
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да нет же, сетевой диск мне совсем не нужен будет, ведь я расшарю рамдиск для доступа к нему по сети и подключу его на верхнем уровне (в Винде) как сетевой
|
Altair |
![]()
Сообщение
#11
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Ага, все понял.
Ну тогда выходит осталось найти сервер под ДОС! [offtop] Аватар это фотка??? Хех, здорово. Но здесь я "маршал задач" :D [/offtop] -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
DeeMon |
![]()
Сообщение
#12
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: ![]() ![]() ![]() |
да не маршал я, всего лишь рядовой, а фотка армейская ;)
хех, круто! ИМХО только у нас в России есть военные программисты, и программисты бывшие военные! Сообщение отредактировано: Oleg_Z - 23.09.2004 12:37 |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 16:16 |