Тема: Проблема при програмном добавлении модуля DVB в Startup suite

Помогите пожалуйста програмным способом добавить модуль DVB в Startup suite, чтобы он автоматически подгружался в AutoCAD при его открытии и можно было свободно использовать макросы из модуля DVB.
Команды добавления модуля DVB должны быть написаны на VBA в виде макроса в модуле DVB.

Re: Проблема при програмном добавлении модуля DVB в Startup suite

К сожалению таких специальных команд нет, в принципе можно добавить к acad.lsp: открываешь acad.lsp и дописываешь к концу файла строку загрузки модуля, например такую строчку:
(vl-vbaload "C:\\Bonus\\dop.dvb")

Re: Проблема при програмном добавлении модуля DVB в Startup suite

А существуют какие-нибудь специальные методы чтобы сточку (vl-vbaload "C:\\Bonus\\dop.dvb") добавлять корректным образом с проверкой перед добавлением на наличие такой строки в VBA? Очень хочется добавить такую строчку одной командой в VBA!

Re: Проблема при програмном добавлении модуля DVB в Startup suite

Принцип таков:
1. Открываешь acad.lsp.
2. В переменную забиваешь текстовую информацию файла acad.lsp.
3. С помощью функции InStr определяешь присутствует ли эта строка в файле.
4. Если нет то добавляешь ее.
А одной командой здесь не получится.

Re: Проблема при програмном добавлении модуля DVB в Startup suite

Зачем беспокоить acad.lsp?

1. Создаем проект acad.dvb
2. Сохраняем его там же, где acad.exe
3. В проект добавляем процедуру с именем ACADStartup

Например:
Sub ACADStartup()
Call AcadApplication.LoadDVB("c:\primer.dvb")
End Sub
     
Отсюда же можно выполнить при старте любой макрос.

Подробнее можно посмотреть пример из Sample/VBA/VBAIDE Menu.

Re: Проблема при програмном добавлении модуля DVB в Startup suite

to AlEkZ
... и этот ACADStartup() запускается при первом обращении к системе VBA, а не при старте автокада. Или такая фича только у меня?

Re: Проблема при програмном добавлении модуля DVB в Startup suite

Можно в Tools/Options/Files добавить в Support Search Path путь к папке, где лежит "dop.dvb", и туда "положить" новый пустой acad.lsp с одной строкой

(vl-vbaload "dop.dvb")

При старте автокад "запускает" все файлы acad.lsp, которые он найдёт в Support Search Path.

Но круче делать не так. Слышал, что круче работать через скомпилированный vlx-файл. Хотя я сам не умею, руки не доходят разобраться ...

Re: Проблема при програмном добавлении модуля DVB в Startup suite

Пытался добавить путь к dvb в Startup suite через реестр - не поличилось. Acad определяет что добавлено им, а что нет, и удаляет. Может у кого получилось?

Re: Проблема при програмном добавлении модуля DVB в Startup suite

А нельзя ли добавить вручную нужный dvb в Startup suite. При открытии Autocad модуль будет загружаться автоматически и все процедуры будут доступны.
А иначе получается, что мы должны (перый раз только вручную!) добавить модуль dvb, который автоматически будет загружать другой модуль dvb?!

Re: Проблема при програмном добавлении модуля DVB в Startup suite

to Milz
ACADStartup() запускается именно при старте ACAD (с установленным VBA, естественно)

to Брагин И.
а что делать?

to Иван
круче нас только яйца! но зачем чесать ухо через зад, если можно сделать проще и надежнее?

Re: Проблема при програмном добавлении модуля DVB в Startup suite

> AlEkZ
Да я и предложил вручную вставлять в Startup suite.
Хотя, теперь, и не исключаю необходимости программного добавления при запуске AutoCAD, например, из другого приложения. Тогда может понадобится и программное удаление модуля dvb из Startup suite после нескольких запусков AutoCAD. В этом случае ACADStartup(), наверное, не сможет дать желаемого результата.

Re: Проблема при програмном добавлении модуля DVB в Startup suite

Ребята! Мне надо сделать так чтобы при запуске установочной программы макроса, автоматически появлялась панелька с инструментами которые начинают работать только с автоматически запущенными проектами vba, поэтому в этом установочном макросе надо сделать так чтобы эти модули vba добавились в SturtUp Suite и запускались при каждом запуске AutoCAD чтобы инструменты могли работать. Как мне из VBA добавить модули в SturtUp Suite? Помогите пожалуйста!

Re: Проблема при програмном добавлении модуля DVB в Startup suite

Да, кстати. Есть ли возможность реализовать требуемое Мишей?