Search the Community
Showing results for tags '*error*'.
-
Здравствуйте! Столкнулся с двумя проблемами при адаптации lisp'а под nano. 1. Не работает функция ERROR определённая локально. 2. Попытка предотвратить прерывание кода функцией vl-catch-all-apply не увенчалась успехом. Код всё равно прерывается и не выполняется полностью. Для демонстрации привожу тестовую команду TEST1. Если на запрос выбора примитива нажать Esc, выполнение кода прерывается. Локальное определение функции ERROR игнорируется, и выполняется функция ERROR определённая глобально. В итоге, в командной строке результат: ошибка: функция прервана А должно быть: Конец команды TEST1 Тестировал: Платформа nanoCAD, версия 22.0, сборка ВСЕ. Встречал здесь на форуме адаптированный под nano набор функций Pltools, в котором все перечисленные функции присутствуют. И задаюсь теперь вопросом - эти функции работают некорректно только у меня на 22 версии? Какие есть варианты решения данных проблем? Переопределение функции ERROR глобально не вариант! Отказаться от vl-catch-all-apply не могу( (defun C:TEST1 (/ *ERROR*) (defun *ERROR* (MSG / ) (princ "\n Сработала локальная функция *ERROR*") (princ) ) (vl-load-com) (vl-catch-all-apply (function (lambda () (entsel "\n Нажмите Esc:") ) ) ) (princ "\n Конец команды TEST1") (princ) )
- 13 replies
-
- lisp
- vl-catch-all-apply
-
(and 1 more)
Tagged with: