Форум » Clipper » Дискета » Ответить

Дискета

Pasha: w2k server, где и находится БД Возникла необходимость на нем запускать эхотажные программы При запуске программы система зачем-то дергает флопик, после чего программа все равно запускается Антивирусов нет К компьютеру давно никто не подходил и ничего нехорошего не устанавливал, он просто стоял включенным Как отключить неприятный эффект ?

Ответов - 34, стр: 1 2 All

Dima: Прога не обращается к флопику ? Может ключевая дискета ищется или что то в этом плане.

Pasha: нет конечно прога только открывает БД, путь указывается в настройке, флопика там и в помине нет на флопик лезет ОС а что она там забыла непонятно

Григорьев Владимир: Попробовать открыть проводник и выбрать диск C:. Система где-то запомнила (может быть в реестре), что последнее обращение было к дискете. Обычно это происходит, когда через проводник смотрят дискету, а затем выключают комп.


suv: в дос машине есть понятие умалчиваемый каталог на некоем устройстве предполагаю, что в данном варианте винды она до старта дос-машины заполняет соответствующие дос-структуры то есть тупо лезет на A: и спрашивает там CURDIR() :-)

Pasha: Проблема так и осталалась нерешенной Причем это касается не только клиппер (win16) программ Харбор-программы ведут себя так же Хотя delphi-программа (там есть какая-то) запускается без обращения к флопику И стандартные программы тоже А что с моими не пойму В реестре сделал глобальный поиск, вычистил все где встречается "a:" В Documents and Settings убрал все *.lnk в теле которых увидел "a:\" Не помогает Что это может быть ?

Dima: Переменную path смотрел ?

Pasha: Да, конечно Все стандартные проверки сделал, нигде ни в bat, config.sys и пр. ссылки на флопик нет В автозагрузке ничего нет Recent files тоже чистый Так запускаются не только мои программы, а и еще некоторые, систему понять трудно

suv3: Не помогает Что это может быть ? Паша. Я же уже отвечал, что это. Это умалчиваемый каталог, который слишком усердно пытается определить операционная система. Если память не изменяет, в первых версиях ХР было то же самое. Потом пофиксили. Проявлялось на любых дос-программах. Например, если запустить Volkov commander и (находясь на диске C:) нажать AltF1, он должен показать список дисков (букв, драйвов). В w2k при этом дергался дисковод и мигал лампочкой. Как и почему это происходит? Самая простая методика определения доступности буквы была такая: сменить текущий диск (например C:) на диск X: Затем считать текущий диск. Если диск сменился на X: - значит диск X: доступен в системе. Если текущий диск остался C: - значит диска X: нет. Этим способом пользовались все программисты (не только клиперрные - вообще все. ), ибо копаться в структурах дос - очень геморройно. Беда w2k и/или первых версий ХР была в том, что при смене текущего диска на A: они выполняли физическое обращение к дисководу, чего конечно не требуется. Скорее всего (другой причины не видно) для того, чтобы при смене диска на другой проверить и в случае необходимости изменить текущий умалчиваемый путь. Возможно, это было пофиксено в каких-то обновлениях w2k. Но вот только что на первой попавшейся машине с w2k при нажатии AltF1 я сейчас увидел такой эффект. Можно, конечно, попытаться закачать все доступные обновления - вдруг поможет. На WinXP такой ошибки нет. В первых версиях по-поему было. Все это можно легко проверить. Напиши функцию, которая возвращает текущий диск и устанавливает новый. Попробуй сменить диск на A: В w2k - дисковод будет дергаться. В WinXP дисковод нет. И это правильно. Зачем его дергать? Я ничего на дисководе не читаю, я только говорю досу, что все текущим диском теперь будет являться диск A: А Дос должен всего-навсего изменить переменную в памяти, которая хранит номер текущего диска.

Pasha: w2k, установлена sp4, больше sp кажется не выходило Но этот эффект у меня и на харбор-программах, которые полностью 32-х разрядные и к дос никакого отношения не имеют Правда запускаю я их через bat-ник Но я пробовал запускать и через *.cmd, эффект тот же Подумалось: может какой-то баг к командном процессоре nt Но как вылечить пока не придумал, а переустановить сервер возможности нет

suv3: Я как-то говорил, что 32х разрядные консольные программы виндовс работают с экраном, с клавиатурой, мышью через дос-программу conagent со всеми вытекающими дос-последствиями. В вин 98 я это видел своими глазами в СофтАйсе. Как в nt-системах - гарантию дать не могу, но не исключаю, что так же.

suv3: Можешь проверить на ФАРЕ. Нажми AltF1 - будет дергаться дисковод, хотя ты просто смотришь список букв

Pasha: suv3 пишет: Я как-то говорил, что 32х разрядные консольные программы виндовс работают с экраном, с клавиатурой, мышью через дос-программу conagent со всеми вытекающими дос-последствиями дык программы то не консольные буду там следующий раз опять буду что-то мучить

suv3: Помнится, конагент все равно запускается, даже в случае запуска 32-хразрядного gui-приложения

suv3: есть интересное решение - выломать флоп + отключить его в биосе с досом все понятно. вопрос - про харбор. Не знаток харбора, вроде он чисто 32х разрядный и компилируется из ASM-ов каким-то компилятором. Следовательно, если ты напишешь минимальную программу на этом компиляторе в его же IDE и с харборовскими опциями компиляции-линковки - должен увидеть такой же эффект. Наблюдается? Про дельфи - наблюдается ли такой эффект на консольном дельфевом прилолжении?

Pasha: как следующий раз туда попаду буду проверять

Pasha: Может действительно достаточно будет в autoexec.nt добавить команду "C:\"

suv3: если у тебя получится сделать приложение на том же компиляторе на его родном си, которое не дергает дисковод - надо сделать такую же обертку вокруг харбора (или просить авторов, уж и не знаю, кто там разработчик)

suv3: Pasha пишет: Может действительно достаточно будет в autoexec.nt добавить команду "C:\" Неа. Я же подробно писал про AltF1 и общепринятый механизм определения наличия драйва (не доступности носителя в нем, а самого драйва)

Сергей Р: Pasha пишет: Но как вылечить пока не придумал, а переустановить сервер возможности нет Может не париться , а заменить "A" floppy на "B"

suv3: Сергей Р пишет: Может не париться , а заменить "A" floppy на "B" думаешь, когда дергается дисковод Б - это приятней? имхо, вместо ААААА!!!! усер будет орать Б%#.....



полная версия страницы