Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Lemieux от 17-02-2020, 19:55:24

Название: Исключение во время Batch Plot
Отправлено: Lemieux от 17-02-2020, 19:55:24
Всех приветствую.
Кто может подсказать, из-за чего может возникать данное исключение во время 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()
Название: Re: Исключение во время Batch Plot
Отправлено: avc от 17-02-2020, 20:20:59
Смотря что там у вас в ApplicationIdle. Проверяйте на null все переменные
Название: Re: Исключение во время Batch Plot
Отправлено: Lemieux от 17-02-2020, 21:10:33
Решил свою проблему :)
Название: Re: Исключение во время Batch Plot
Отправлено: Александр Ривилис от 17-02-2020, 21:22:51
Решил свою проблему
И каким образом?
Название: Re: Исключение во время Batch Plot
Отправлено: Lemieux от 17-02-2020, 21:53:50
Решил свою проблему
И каким образом?
Я делал загрузку по этой теме https://adn-cis.org/forum/index.php?topic=429.0 . Но я не стал делать проверку на появление ленты, а подписывался на событие в Initialization() и отменял подписку в конце функции по созданию ленты. Решил проблему, перенеся отмену подписки в функцию, которая запускается из события (по ссылке "on_ApplicationIdle") и поставив её перед проверкой создалась ли лента. В чём механика происходящего я не совсем понял, но главное заработало :)