Есть программа нижнего уровня на Турбо Паскале(ТП) которая обменивается файлами с другой программой верхнего уровня (на Fox) по средствам сети. Так вот, та программа, которая написана на ТП находится на компе под DOS и сеть на нем соответственно под DOS и подключен сетевой диск на который эта программа пишет те самые файлы для обмена. Проблема заключется в следующем:
когда верхний уровень отваливается (перезагружается, выключается и тд) нижний уровень должен работать как ни в чем не бывало, с той лишь разницей, что он не должен ни какие файлы никуда не передавать, как определить что нет сетевого диска без всяких задержек, (дело в том, что я пробовал определять это с помощью DiskSize(5) но в этом случае похоже, что он ждет какие-то там тайм ауты(чисто мое предположение) и программа в этом месте жутко тормозит, что недопустимо в моем случае)
за любую помощь заранее благодарен
http://forum.sources.ru/index.php?showtopic=47548&unread=1&hl=диск
Сообщение № 10
Ну есть пожалуй еще проще способ:
1.
Для определения доступности сетевого диска, попробуйте использовать переменную IoResult, то есть выполняем любую операцию с файлом на этом диске, например Reset(f), если диска нет, то в переменную IoResult будет помещен код ошибки, при этом операция выполнится очень(1) быстро.
2.
Есть второй способ, не задумываясь пишите файлы на диск, и если происходит критическая ( RUN-TIME ERROR) ошибк, выполняйте нужные дейсвтия.
Но в этом случае, как Вы сами понимаете, необходимо обрабатывать критические ошибки.
Если заинтерисуетесь этим методом, могу выложить модуль (из книги Фаронова) "обработка критическихз ошибок"
Долго????
Так, товарищ, вы время тогда называйте требуемое!
А то долго - не долго .... это игра словами!
Oleg_Z
долго это где-то около минуты
Эге ... да ... минута это серьезно ...
А оно и понятно, ведь сеть еще определить надо, а затем еще и диск на том конце...
Тогда тут ни как не обойтись представлением о сетевом диске как о физическом!
А может "верхняя" система посылать сообщение "нижней" что бы та остановилась?
Или "верхняя" система пожет непроизвольно перегружаться, выключатся?
То есть один из способов такой:
При попытке перегрузить верхнюю систему, она сначала подает сигнал нижней, что отключается, а на нижней стоит резидент (или сама прога это определяет), регистрирующий отключение.
Еще вопрос: а система верхняя, сильно удалена от нижней? (физическое расстояние в метрах от одной машины до другой)
слушайте, народ тут мне в голову пришла одна мысль (можно ведь создать рамдиск на нижнем уровне и его расшарить, тогда этот диск точно уж не будет отваливаться и файлы я могу туда писать сколько угодно, и тормозить ни чего не должно), но для этого нужен lantastic или еще какой-нить сервер по ДОС не подскажите где можно его взять
Да нет же, сетевой диск мне совсем не нужен будет, ведь я расшарю рамдиск для доступа к нему по сети и подключу его на верхнем уровне (в Винде) как сетевой
Ага, все понял.
Ну тогда выходит осталось найти сервер под ДОС!
[offtop]
Аватар это фотка???
Хех, здорово. Но здесь я "маршал задач" :D
[/offtop]
да не маршал я, всего лишь рядовой, а фотка армейская ;)
хех, круто! ИМХО только у нас в России есть военные программисты, и программисты бывшие военные!
Buy Generic Zithromax