Начиная с AutoCAD 2016 не срабатывает при загрузке AutoCAD, а выполняется только после вызова команды?Из основных особенностей при запуске AutoCAD 2016 возможна ситуация, когда нет ни одного открытого документа и Application.DocumentManager.MdiActiveDocument == null и HostApplicationServices.WorkingDatabase == null
Как сделать чтобы сообщение появилось сразу при загрузке AutoCAD 2016 при загрузке через PackageContents.xml?Для этой цели в PackageContents.xml есть параметр StartupCommand: http://adndevblog.typepad.com/autocad/2012/04/autoloader-the-startupcommand-parameter.html
собственно вопрос в том почему инициализация происходит после вызова команды в командной строкеОна происходит вовремя. Просто диалоговое окно не выводится. Попробуй проверить через отладчик или выведи диалоговое окно другим способом. Возможно как раз причина в том, о чем я писал выше - это диалогове окно привязано к окну документа, а окна такого еще нет. Вот диалог и не показывается.
эээ, код выше просто выводит сообщение Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("load app")А с чего ты взял, что при вызове команды происходит инициализация? У тебя что, при вызове команды окно открывается два раза подряд (ты же в команду тот же код запихнул)? Оберни содержимое Initialize() в try\catch и посмотри, не генерируется исключение (покажи текст ошибки в модальном окне WinForms или WPF).
собственно вопрос в том почему инициализация происходит после вызова команды в командной строке, а не при загрузке AutoCAD и как сделать чтобы IExtensionApplication.Initialize() произошло до вызова команды testcommand в командной строке?
В командную строку тоже ничего не выводится и не пишется.И не должно - её (командной строки) просто еще нет.
Поясню суть проблемы на IExtensionApplication.Initialize() я подписываюсь на событияКакие события? Как подписываешься? Ты попробовал как я предложил StartupCommand (т.е. проделать в этой команде всё то, что ты собирался сделать в Initialize)?
это диалогове окно привязано к окну документа, а окна такого еще нет. Вот диалог и не показывается.Если такая привязка существует, то скорее всего проблема именно в этом.
В командную строку тоже ничего не выводится и не пишется.В последних версиях акада загрузка плагинов порой происходит в контексте временного документа, который затем удаляется (это помимо возможности натолкнуться на null). Сталкивался с этим, когда в консоль акада не выводилась информация, хотя документ в момент исполнения кода был не null. Оказывается текст выводился в консоль временного документа, который затем акадом же и закрывался. А юзер, создавая новый документ при открытии акада, не видел этого консольного вывода. Пришлось добавить аналитику текущего документа и если выяснялось, что это временный, то подписывался на создание нового документа. Когда событие срабатывало - выводил текст в консоль нового документа и отменял подписку.
Ввожу команду в командную строку и появляется ДВА сообщения !Покажи полностью свой файл PackageContents.xml
Приложил, у меня как на видеоНу с тем PackageContents.xml, который ты приложил так и должно быть (да и у меня точно также).
Ну с тем PackageContents.xml, который ты приложилXML автора я не проверял, т.к. исходил из того, что настройки именно те, которые он указал в #2. Видать за ним всё перепроверять нужно, если уж браться отвечать....