Исключение во время Batch Plot

Автор Тема: Исключение во время Batch Plot  (Прочитано 3147 раз)

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

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

  • ADN OPEN
  • ****
  • Сообщений: 384
  • Карма: 21
Всех приветствую.
Кто может подсказать, из-за чего может возникать данное исключение во время Batch Plot? Моя лента грузится во время запуска AutoCAD. Во время отладки это исключение не вылетает.

System.NullReferenceException: Object reference not set to an instance of an object.
   at RibbonTabPSP.lmxTab.on_ApplicationIdle(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at Autodesk.AutoCAD.ApplicationServices.Core.Application.raise_Idle(Object value0, EventArgs value1)
   at Autodesk.AutoCAD.ApplicationServices.Core.Application.OnIdle()

Отмечено как Решение Александр Ривилис 18-02-2020, 01:00:48

Оффлайн avc

  • ADN Club
  • *****
  • Сообщений: 809
  • Карма: 166
    • Мои плагины к Автокаду
Re: Исключение во время Batch Plot
« Ответ #1 : 17-02-2020, 20:20:59 »
Смотря что там у вас в ApplicationIdle. Проверяйте на null все переменные

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

  • ADN OPEN
  • ****
  • Сообщений: 384
  • Карма: 21
Re: Исключение во время Batch Plot
« Ответ #2 : 17-02-2020, 21:10:33 »
Решил свою проблему :)

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Исключение во время Batch Plot
« Ответ #3 : 17-02-2020, 21:22:51 »
Решил свою проблему
И каким образом?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ****
  • Сообщений: 384
  • Карма: 21
Re: Исключение во время Batch Plot
« Ответ #4 : 17-02-2020, 21:53:50 »
Решил свою проблему
И каким образом?
Я делал загрузку по этой теме https://adn-cis.org/forum/index.php?topic=429.0 . Но я не стал делать проверку на появление ленты, а подписывался на событие в Initialization() и отменял подписку в конце функции по созданию ленты. Решил проблему, перенеся отмену подписки в функцию, которая запускается из события (по ссылке "on_ApplicationIdle") и поставив её перед проверкой создалась ли лента. В чём механика происходящего я не совсем понял, но главное заработало :)