Тема: Внезапное появление справки

Здравствуйте!

Приложение вызывает AutoCAD с помощью VBA, в какой-то момент делает следующее:

ThisDrawing.SendCommand "(setwh " & Chr(34) & hdl & Chr(34) & ") " & vbCr & "(princ)" & vbCr

Сразу после этого вылазит "справка по AutoCAD 2010"! Как можно от этого избавиться и что я делаю не так?

Файл с кодом лиспа был загружен ранее, команда выглядит так:

(defun setwh(handle) 
    (setq en (handent (getvar "users1"))) 
    (setq elist (entget en)) 
    (setq wid (cdr (assoc 42 elist))) 
    (setq hgt (cdr (assoc 43 elist))) 
    (setvar "userr1" wid) 
    (setvar "userr2" hgt) 
    (princ)
) 

Re: Внезапное появление справки

teem0n пишет:

Как можно от этого избавиться и что я делаю не так?

Убрать первый & vbCr

Re: Внезапное появление справки

Помогло! Спасибо, Александр! :oops:
А не подскажете, почему так происходит? Нельзя писать многострочные команды?

Re: Внезапное появление справки

teem0n пишет:

Нельзя писать многострочные команды?

Можно. Просто пробел, как и ENTER в командной строке AutoCAD - окончание команды. А у тебя пробел здесь: ") " и еще и vbCr (т.е. ENTER). Пробел завершил команду, а ENTER вызвал предыдущую команду (если её еще не было, то HELP).

Re: Внезапное появление справки

Получается, также можно было убрать пробел после скобки!
Спасибо за разъяснение!

Re: Внезапное появление справки

teem0n пишет:

Получается, также можно было убрать пробел после скобки!

Именно так.

Re: Внезапное появление справки

извращение какое-то ... Ну неужели в VBA нет встроенных средств, чтоб обойтись без SendCommand?