NanoCAD: командный реактор выдаёт звук
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > NanoCAD: командный реактор выдаёт звук

NanoCAD: командный реактор выдаёт звук

Ответ
Поиск в этой теме
Непрочитано 19.04.2024, 11:54 #1
NanoCAD: командный реактор выдаёт звук
===AAA===
 
г. Норильск
Регистрация: 15.08.2005
Сообщений: 616

Всем привет!

Есть командный реактор типа:

(setq ##r_aaa (vlr-command-reactor "Имя-Комплекса" '((:vlr-commandEnded . $функция))))

Настроен на окончание команды и работает по ходу сеанса без вопросов.
Что надо, то и делает.

Но при закрытии nanoCAD'a (примерно через секунду после того, как его окно закрывается)
происходит звуковой сигнал.

Видимо, реактор, не сумев обработать, эту последнюю команду закрытия, жалуется на свою нелёгкую
долю, т.к. если его деактивировать вручную, звука не происходит.

Вопрос:

Как можно деактивировать реактор обработки "завершения любой команды" фактом "пользователь
решил закрыть NC" ?
__________________
Счастливо, Алексей!
Просмотров: 1467
 
Непрочитано 19.04.2024, 12:11
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Самое простое - обернуть в vl-catch-all-apply.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.04.2024, 12:37
#3
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616


То ли с синтаксисом где-то косячу то ли одно из двух...
Попробовал так:

(setq ##r_aaa (vlr-command-reactor "Имя-Комплекса" '((vl-catch-all-apply (:vlr-commandEnded . $функция)))))

срабатывать реактор перестал. :-(
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 19.04.2024, 12:42
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Внутри функции реактора попробуй ставить отлов ошибок. И посмотри примеры использования vl-catch-all-apply, просто я уже не возле компа
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.04.2024, 12:52
#5
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616


Просто другие варианты синтаксиса выдают:

Отладочный режим:
недопустимая функция: VL-CATCH-ALL-APPLY: #<:VLR-COMMAND-REACTOR>


:-(

Её хоть вообще на реактор-то навешивать можно?

И да - функция $функция отлажена/рабочая (в самом конце её работы
выводится тестовое сообщение о завершении).
__________________
Счастливо, Алексей!

Последний раз редактировалось ===AAA===, 19.04.2024 в 13:00.
===AAA=== вне форума  
 
Непрочитано 19.04.2024, 14:37
1 | 1 #6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
в самом конце её работы
выводится тестовое сообщение о завершении
Угу, куда выводить-то, если документов уже нет на момент закрытия NC? И я говорил про конструкцию типа
Код:
[Выделить все]
 (setq ##r_aaa (vlr-command-reactor "Имя-Комплекса" '((:vlr-commandEnded . $функция))))

(defun $функция (cmd reac) 
  (vl-catch-all-apply 
    (function 
      (lambda () 
        ; Твой код, весь и целиком
      )
    )
  )
)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.04.2024, 15:11
#7
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616


Спасибо!

Гудеть после закрытия NC перестало
и функция работает тоже нормально.

А то я уже хотел связку из двух взаимно
включающих/отключающих друг друга
реакторов городить. :-)

Кстати, насчёт (function ...)

Не могу определиться - то ли оставлять её в надежде,
что "нанокадовцы" допилят компилятор для Лиспа, то
ли убирать. Или уже пусть остаётся в коде, есть/пить
вроде бы и не просит...
__________________
Счастливо, Алексей!

Последний раз редактировалось ===AAA===, 19.04.2024 в 15:22.
===AAA=== вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > NanoCAD: командный реактор выдаёт звук



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C#. nanoCAD, Autocad. Экспорт геометрии в позиционный проект Stark ES Нубий-IV Готовые программы 2 27.05.2024 15:17
ACAD+СПДС Железобетон (nanoCAD СПДС Железобетон) swell{d} Прочее. Программное обеспечение 104 04.12.2015 09:30
Различные продукты nanoCAD . Помогите в выборе. Alexandr_A Другие CAD системы 11 18.06.2015 12:42
Почему срабатывает "табличный" реактор при сохранении рисунка. Дима_ Программирование 23 21.05.2010 21:24
Запрет на действия пользователя -- создать реактор или.....? mmax Программирование 8 05.08.2006 14:22