Еще один вариант автозагрузки приложений…
Вопрос об автозагрузке приложений (написанных на любых доступных языках - lisp, C++, .NET, VBA и т.д.) время от времени все же поднимается на форумах (да и в личных сообщениях тоже). Использование StartupSuite просто и понятно, и мало кому интересно У .NET-чиков есть свои варианты, у создателей arx - свои. У лисповиков и вэбэашников подобного нет? Ну как это нет, когда есть!
Скажу честно: более-менее интересные вещи практически никогда не пишутся без использования собственного меню. Которое а) надо создать; б) куда-то поместить и в) загрузить в AutoCAD
Если мы рядом с меню помещаем одноименный файл, но с расширением mnl (MeNu Load)... А в mnl у нас прописан сколь угодно сложный lisp-код... То прописанные в mnl команды будут выполняться независимо ни от чего.
То есть, например, в mnl файле можно выполнить проверку наличия некоторых записей в реестре (например, путей установки приложения), и дальше двигаться уже по принципу:
- если запись найдена и соответствующие файлы нормально загружаются, то все ОК, работаем
- если хотя бы одно условие не соблюдено, выполнять запрос на нахождение основных файлов приложения. Ну а дальше уже как фантазия позволит.
И это еще не самый "замороченный" вариант, можно навертеть такого!..
При всем при этом мы никоим образом не трогаем ни acad.lsp, ни acaddoc.lsp, ни автозагрузку AutoCAD'a. Технология, конечно, небезупречна, но зато работает практически в любых условиях
Уточнение: в последних версиях необходимо будет все же учитывать возможные проблемы с безопасностью приложений. Но это тема отдельного разговора. Если повезет, по осени на AURu расскажу