Не срабатывают команды при запуске AutoCAD 2016?

Автор Тема: Не срабатывают команды при запуске AutoCAD 2016?  (Прочитано 17888 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
нафига архивами? Опубликуй код обычным способом, в сообщении (с форматированием) - так наглядней и удобней. Щас ещё студия будет открывать его несколько минут.... Да и опубликовать я тебе предлагал не всё подряд а конкретные файлы.

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
А какой смысл тебе отвечать, если ты даже не читаешь? Я кому писал в #8, себе что ли? Ждёшь, что за тебя твой код кто-то другой подправит?

Дабы исключить вероятность того, что глючит не Bundle, проверь поведение, когда автозагрузка прописана не через настройки Bundle, но через реестр: https://sites.google.com/site/bushmansnetlaboratory/moi-zametki/avtomaticeskaa-zagruzka-net-bibliotek/pri-pomosi-izmenenij-v-reestre (не забудь про настройки доверительных каталогов).

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Только сейчас обратил внимание...
Код - C# [Выбрать]
  1. void IExtensionApplication.Initialize() {...}
Замени на:
Код - C# [Выбрать]
  1. void Initialize() {...}
По аналогии и Terminate().

Отмечено как Решение Doublefish 05-12-2015, 20:02:33

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Приложил, у меня как на видео
Ну с тем PackageContents.xml, который ты приложил так и должно быть (да и у меня точно также).
Ты где-то "посеял" LoadOnAutoCADStartup = "True", поэтому dll-файл у тебя загружается только при вызове команды и соотвественно сначала выполняется Initialize, а потом уже сама команда. Если добавить LoadOnAutoCADStartup = "True", то у меня срабатывает нормально:

Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Ну с тем PackageContents.xml, который ты приложил
XML автора я не проверял, т.к. исходил из того, что настройки именно те, которые он указал в #2. Видать за ним всё перепроверять нужно, если уж браться отвечать....

Оффлайн DoublefishАвтор темы

  • ADN Club
  • ****
  • Сообщений: 288
  • Карма: 10
  • AutoCAD Civil 3D
К сожалению вчера поздно вечером совсем не вовремя отключился интернет и я не смог сразу написать :(

По итогу действительно оказалось что в xml файле параметр LoadOnAutoCADStartup = "True" был не в той сроке!

Дописал и тоже заработало.

Выполнить команду после загрузки AutoCAD можно через параметр StartupCommand="True" - работает.

Спасибо.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Обратил внимание, на неточность в документации: https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2016/ENU/AutoCAD-Customization/files/GUID-3C25E517-8660-4BB7-9447-2310462EF06F-htm.html
Если не указано ни одного Loadreasons, то это должно быть эквивалентно:
LoadOnAutoCADStartup = "True" и
LoadOnAppearance = "True" и
LoadOnProxy = "True"
По факту же оказалось, что при отсутствии LoadOnAutoCADStartup = "True", сработало как будто установлено:
LoadOnAutoCADStartup = "False" и
LoadOnCommandInvocation = "True".
Так что нужно иметь это в виду и явно указывать нужные Loadreasons.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение