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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > "VLR-DocManager-Reactor" и "; ошибка: VLISP

"VLR-DocManager-Reactor" и "; ошибка: VLISP

Ответ
Поиск в этой теме
Непрочитано 08.06.2005, 20:24 #1
"VLR-DocManager-Reactor" и "; ошибка: VLISP
Тимка
 
Регистрация: 08.06.2005
Сообщений: 8

Подскажите кто знает тупому в чем причина сообщения
"; ошибка: VLISP: internal: Document application(.VLX) not found"
при использовании реактора "VLR-DocManager-Reactor"?

Надо чтоб в строке состояния печаталось имя текущего слоя, но чтоб во всех одновременно открытых чертежах (в режиме многодокументной работы).

В файле "MyMenu.mnl" определены :

Код:
[Выделить все]
(setq SwitchCLayRea (VLR-SysVar-Reactor nil
 (list '(:VLR-sysVarChanged . ShowCLay))))
(setq AllSwitchCLayRea (VLR-Set-Notification SwitchCLayRea 'All-Documents))

(setq SwitchDocCLayRea (VLR-DocManager-Reactor nil
 (list '(:VLR-documentToBeActivated . DocShowCLay))))

(setq NewDocCLayRea (VLR-DocManager-Reactor nil
 (list '(:VLR-documentCreated . DocShowCLay))))

(setq ClosDocCLayRea (VLR-DocManager-Reactor nil
 (list '(:VLR-documentToBeDestroyed . DocShowCLay))))

(setq CurDocCLayRea (VLR-DocManager-Reactor nil
 (list '(:VLR-documentBecameCurrent . DocShowCLay))))

(setq DeacDocCLayRea (VLR-DocManager-Reactor nil
 (list '(:VLR-documentToBeDeactivated . DocShowCLay))))

(setvar "MODEMACRO" (strcat "є " (strcase (getvar "CLAYER")) " є"))

В файле "acaddoc.lsp" определены :

Код:
[Выделить все]
(defun ShowCLay (name event / )
 (if (and (= (strcase (car event)) "CLAYER") (last event))
  (setvar "MODEMACRO" (strcat "є " (strcase (getvar "CLAYER")) " є")))
 (princ)
)
(defun DocShowCLay (name event / )
 (setvar "MODEMACRO" (strcat "є " (strcase (getvar "CLAYER")) " є"))
 (princ)
)
Просмотров: 3546
 
Автор темы   Непрочитано 09.06.2005, 14:25
#2
Тимка


 
Регистрация: 08.06.2005
Сообщений: 8


Уточнение :
сообщение
Цитата:
"; ошибка: VLISP: internal: Document application(.VLX) not found"
выдается в командной строке после закрытия одного из открытых документов-чертежей.

Спасибо...............
Тимка вне форума  
 
Автор темы   Непрочитано 09.06.2005, 18:57
#3
Тимка


 
Регистрация: 08.06.2005
Сообщений: 8


Так никто и не подскажет?

Нарооооод......
АУ
Тимка вне форума  
 
Автор темы   Непрочитано 10.06.2005, 13:14
#4
Тимка


 
Регистрация: 08.06.2005
Сообщений: 8


Ну оооооооооооооооооооооооочень нужно!

ПОМОГИТЕ
Тимка вне форума  
 
Непрочитано 10.06.2005, 16:29
#5
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Честно говоря, не лучший способ использовать реакторы на ЛИСПе в многодокументном режиме. Перепиши на VBA и 2/3 проблем отпадут. Загрузку VBA-модуля можно оставить на ЛИСПе, но вполне возможно что следует ввести проверку чтоб модуль загружался только один раз.
vk вне форума  
 
Автор темы   Непрочитано 10.06.2005, 19:14
#6
Тимка


 
Регистрация: 08.06.2005
Сообщений: 8


Спасибо огромное, хоть Вы откликнулись.

Однако беда в том, что VBA для меня - что язык племени Мумба-Юмба
(ни в зуб ногой).

В Lisp-е еще хоть как-то, а Vlisp - толко начал осваивать, и вот, как назло, очень понадобился именно (такой) реактор...
Тимка вне форума  
 
Непрочитано 10.06.2005, 20:10
#7
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


То что в Лиспе зовется реакторами, в VBA называется событиями. По сути своей это одно и то же, но есть одна существенная разница. Она в природе языка реализации. Лисп-программы выполняются именно в том чертеже в который они загружены (однако есть возможность экспортировать функции и данные в другие чертежи), а код VBA-модуля доступен как правило всегда. Не сочтите за труд, загляните в хелп в раздел ActiveX and VBA Reference -> Events и посмотрите примерчики. Оно на самом деле не так сложно, как кажется.
vk вне форума  
 
Автор темы   Непрочитано 13.06.2005, 09:02
#8
Тимка


 
Регистрация: 08.06.2005
Сообщений: 8


Спасибо, посмотрю.
Тимка вне форума  
 
Автор темы   Непрочитано 13.06.2005, 10:06
#9
Тимка


 
Регистрация: 08.06.2005
Сообщений: 8


Все.
Вопрос решен и закрыт.

Кому интересно см. тот же вопрос на сайте autocad.ru в ветке Lisp.
Тимка вне форума  
 
Автор темы   Непрочитано 13.06.2005, 10:09
#10
Тимка


 
Регистрация: 08.06.2005
Сообщений: 8


Я имел ввиду на форуме autocad.ru
Тимка вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > "VLR-DocManager-Reactor" и "; ошибка: VLISP

Размещение рекламы