Форум » Clipper » HELP!!! Unrecoverable error 667: Eval stack fault » Ответить

HELP!!! Unrecoverable error 667: Eval stack fault

IgorMatroskin: Здравствуйте, МАСТЕРА. У меня возникла нерешаемая для меня проблема. После установки DOS-программ (3 штуки) на свежий компьютер (P-4 с гипертредингом не Dual, а тот который перед ним) и XP, при запуске выдается фраза FSCAN(0) Unrecoverable error 667: Eval stack fault. Программы не запускаются. Ранее они стояли на Celeron и той же ХР. Все работало как часы. Программа Clipper (R) 5.2e (Rev. 216) ЧТО ДЕЛАТЬ? P.S. Я не программист, а юзер ;). Может кто нибудь сталкивался с данной проблеммой? Раньше, помните, была проблема RUNTIME ERROR, ее умные люди решили. Мне кажется, что здесь проблема именно в совместимости с процессором :( ПОМОГИТЕ ПОЖАЛУЙСТА!!!

Ответов - 5

ort: Немного непонятно - что за функция FSCAN()?

Григорьев Владимир: Я тоже не знаю, что делает FSCAN(). Может быть эта функция сканирует все папки и все файлы в папках, чтобы вывести список файлов? Возможно, делая это, функция вызывает рекурсивно сама себя, и так как вложенных папок очень много, то происходит исчерпание внутреннего стека Clipper при очередном рекурсивном вызове функции FSCAN(). Если моя догадка верная, то надо выяснить, для чего происходит сканирование папок. И либо поместить программу на самый верхний уровень (в подкаталог корневого каталога), либо, наоборот, поместить программу на самый нижней уровень в дереве иерархии папок. Все зависит от того, с какого каталога происходит сканирование. Если у вас есть исходный код, то с этой проблемой можно было бы быстро разобраться.

Pager: FSCAN это какая-то самопальная функция. Ищи ее исходники или програмиста, который ее навоял. На старых селеронах какой тип файловой системы был, может fat32 а на новых ntfs. Может прога просто не любит длинных и русских директорий... Прога хоть что-то делает или сразу выдает такое?!


Петр: Сразу оговорюсь, что с подобной проблемой не встречался, но мне кажется, что выдержка из Blinker Online Reference может прояснить ситуацию CA-Clipper DGROUP and Eval stack faults At program run time, CA-Clipper uses as much as possible of the default data group (DGROUP) to store temporary values such as locals, statics and function parameters. The infamous ‘667 Eval stack fault’ error occurs if there is insufficient space for the requirements of the program, which becomes more and more likely as the size of a program increases. Т.е. я поддерживаю предположения Владимира Григорьева. Ну и если есть исходный код программ, проблему можно решить перелинковкой Blinker 5 и выше. Blinker 5.х автоматически вставляет в программу код для увеличения размера стека.

Dima: Можно добавить в скрипт линковки stack 10240 blinker procedure depth 100



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