Тема: Старые LISP`ы в 20002
Многие лиспы, написанные для 14-го и ниже не работают в 2002. Слышал, что есть примочка. Помогите пожалуйста, кто знает!
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → LISP → Старые LISP`ы в 20002
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Многие лиспы, написанные для 14-го и ниже не работают в 2002. Слышал, что есть примочка. Помогите пожалуйста, кто знает!
"Для 14-го и ниже" - расплывчато. Корректно написанные программы, использующие AutoLisp (не Visual Lisp) работают нормально. Почти все. Разумеется, программа должна быть в кодировке win1251. Требуется конвертирование файлов для DOS-версий, если в них, конечно, не все по английски.
Проблемы могут быть, если неправильно именовались команды и опции (например "ОТРЕЗОК", а не "_.LINE" и т.п.).
В 15х изменились имена некоторых функций Visual Lisp. Вообще Visual Lisp очень изменился. Кроме того, по-другому используются некоторые системные переменные.
"Примочка" называется Migration Assistent, идет с 2000. Ей можно задать кучу лиспов, которые она просмотрит и вставит свои комментарии в сомнительных местах. А исправлять надо вручную. Обычно это точки применения "OSNAP" и там, где работа с открытием файлов.
Спасибо за хорошую подсказку. В Migration нашёл много полезного. Но почему-то не работают конструкции типа
(command "dim" "home" SS "" command) и в то же время
AutoLisp Analyzer не считает их ошибкой.
К анализеру должен прилагаться человек с головой. Такая программа, естественно, реагирует только на то, что в нее зашили. Она только пометит сомнительные места, и то хорошо.
Синтаксис командной строки надо анализировать, особенно для команд интерактивного типа, таких как размеры.
Надо ВНИМАТЕЛЬНО читать справку. Есть варианты синтаксиса с разными префиксами. Ту же команду "DIM" полностью русифицированный Автокад не поймет. Он ее не знает, а знает "родную" "_.DIM". То же с опциями. Их надо начинать с "_". Многие команды имеют префикс "-". Поведение некоторых команд при наборе с клавиатуры может отличаться от вызова в функции command.
Однако большинство ПРАВИЛЬНО написанных программ переносятся легко. Есть опыт переноса нескольких сотен сразу из версии 10 в 15. С минимальной коректировкой, на уровне смены кодировки и нескольких автозамен в текстовом редакторе.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → LISP → Старые LISP`ы в 20002
Форум работает на PunBB, при поддержке Informer Technologies, Inc