|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
wcmatch - ошибка
Штаб
Регистрация: 21.08.2003
Сообщений: 943
|
||
Просмотров: 4485
|
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
В сообщении об ошибке прописано, что текстовая строка - nil. Единственное место, где может появляться сей трабл - извлечение имени команды из списка параметров по nth. Посмотри (в отладчике) какой передается список параметров startCommandInfo и как из него извлекается имя команды.
Вдогонку: только что проверил у себя - все работает.
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
![]() |
|
||||
Регистрация: 21.08.2003
Штаб
Сообщений: 943
![]() |
THECOMMANDSTART = "DIMLINEAR"
У меня было подозрение, что для функции wcmatch в качестве первого параметра можно передавать только string (в виде "ABCDEF"). Но тогда почему работал вариант (if (wcmatch thecommandstart "DIM*") (setvar "clayer" "размеры") ) Не понимаю... |
|||
![]() |
|
||||
Регистрация: 21.08.2003
Штаб
Сообщений: 943
![]() |
Идея как раз в "локальности" переменной thecommandstart.
Но не в этом дело. Дело в том, что ошибка возникает в функции startCommand, хотя в watcher'e значение переменной thecommandstart (при запуске команды DIMALIGN) - DIMALIGN, но функция wcmatch, считает ее nil. |
|||
![]() |
|
||||
строительство Регистрация: 16.01.2004
Петербург
Сообщений: 165
![]() |
Цитата:
Цитата:
Поставь в редакторе "break on error" и убедись сам. |
|||
![]() |
|
||||
Регистрация: 21.08.2003
Штаб
Сообщений: 943
![]() |
Все разобрался!
"break on error" помог. В функциях endCommand и cancelCommand должны быть строки вида (wcmatch thecommandend "DIM*") и (wcmatch thecommandcancel "DIM*") соответственно. А я скопировал из первой функции в последующие, забыв изменить названия переменных. Спасибо! |
|||
![]() |
|
||||
Регистрация: 11.10.2004
e•burg
Сообщений: 755
|
Цитата:
В качестве рекомендации - не надо делать столь длинные и столь похожие имена аргументов и переменных - длинные переменные имеют смысл только если они глобальные, но и тогда - желательно, что-бы они различались больше, чем парой литер. А для глобальных имён (функции, глобальные переменные, словари...) стоит ввести свой префикс, например: Tor-startCommand... |
|||
![]() |