Форум » [x]Harbour » Dos Error 1 » Ответить

Dos Error 1

krutoff: Никто не сталкивался с таким. MiniGUI последняя версия. Программа изменяет структуры файлов dbf и перезаписывает их, затем закрывает все области командой close all и переоткрываются все файлы. Далее после открытия всех областей, при чтении поля любого файла программа зависает или, бывает, выдает код: Error DBFCDX/1010 Ошибка чтения: D:\MiniGUI\ZpW\dbf\DIC.dbf (DOS Error 1) По Alt+C зависание снять не могу. Снимается через диспетчер задач. Как это можно побороть или добраться при зависании на строку, вызвавшую зависание ?

Ответов - 7

Dima: файлы точно не битые получаются после изменения структуры ?

krutoff: Спасибо за ответ! Нет, не битые. Если эту программу закрыть и сразу запустить снова (файлы уже новой структуры) - то все в порядке и никаких проблем не бывает. Пробовал Harbour и xHarbour - все тоже. Это у меня блок инсталяции новой версии и мне приходится сразу после такой установки программу переоткрывать, но хочется понять, где ошибка...

Dima: krutoff Сырец сильно большой , который меняет структуру и там где происходит переоткрытие баз ? Может есть смысл его выложить сюда... PS Или расскажи чего делаешь в ней подробнее. PS1 Возможно поможет commit после того как сменил структуру + он же перед Dbcloseall()


PSP: Может это поможет: https://social.technet.microsoft.com/Forums/en-US/bff0b933-6594-4182-bdfc-f99191c6875c/i-keep-getting-a-invalid-msdos-function-when-i-try-to-move-delete-or-rename-files-any-file

Dima: krutoff Попробуй накидать не большой самодостаточный пример того что делает твоя программа. Сырец сюда , если он будет вести себя так же.

krutoff: Dima пишет: Сырец сильно большой , который меняет структуру и там где происходит переоткрытие баз ? Да, сырец большой и дело в том, что зависание поймать получается в разных местах... Попробую, но не уверен. Спасибо за ответ. Зависание и ошибка происходит как-то странно: После переоткрытия баз пускаю файл на TSBrowse и с первого раза все идет, затем делаю повторно туже операцию с тем же файлом - вот тогда возникает ошибка. Во втором варианте делаю текстовый файл отчета и на повторном пуске возникает ошибка. Но не всегда, поэтому с примером может не получиться. Если бы в момент зависания как-то прерваться... Поставил DBCOMMITAll() DbCloseAll() - не помогло l

Dima: krutoff Простой пример без Минигуи сделай с примерными действиями и убедись что ошибка есть или её нет.



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