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

ADN Club => AutoCAD .NET API => Тема начата: Александр Пекшев aka Modis от 31-10-2016, 19:10:12

Название: Что за чертеж имеется при запуске автокада?
Отправлено: Александр Пекшев aka Modis от 31-10-2016, 19:10:12
Всем привет. При инициализации плагина читаю документы в DocumentManager и вывожу в палитру нужные мне значения
Столкнулся с непонятной мне ситуацией в 2017 автокаде (думаю и более ранних версиях также будет) - если я запускаю автокад, то у меня имеется только начальный экран (стартовая страница), но при этом в DocumentManager почему-то присутствует уже один чертеж! Причем он с именем "Чертеж 1". Т.к. плагин стартует вместе с автокадом, то он получает данные из этого чертежа. В моем случае это листы. В итоге, при попытке что-либо сделать с этими листами, ловится фатальная ошибка

Каким образом мне в моей функции "обойти" этот непонятный момент? Мне кажется, что такой вопрос уже где-то всплывал, но найти не могу
Название: Re: Что за чертеж имеется при запуске автокада?
Отправлено: Александр Ривилис от 31-10-2016, 19:16:56
В итоге, при попытке что-либо сделать с этими листами, ловится фатальная ошибка
Фатальная ошибка или Exception? И если Exception, то какой? И нужно ли тебе вообще обрабатывать это чертеж? Проверь для этого чертежа свойство Document.Database на равенство null и свойство Document.IsNamedDrawing
Название: Re: Что за чертеж имеется при запуске автокада?
Отправлено: Александр Ривилис от 31-10-2016, 19:21:19
В эту же тему: http://adn-cis.org/forum/index.php?topic=3052.0
Название: Re: Что за чертеж имеется при запуске автокада?
Отправлено: Александр Пекшев aka Modis от 31-10-2016, 20:24:01
Фатальная ошибка или Exception?
Был бы exception, меня бы тут не было =))
Проверь для этого чертежа свойство Document.Database на равенство null и свойство Document.IsNamedDrawing
Проверял - были не null

Мне сейчас прям вот стыдно немного, но проблема решилась и совсем в другом месте. В коде еще присутствовали обработчики событий LayoutManager'а и DocumentManager'а и я на них подписывался в методе инициализации моего окна. Когда перенес их в событие Loaded - все заработало

Извиняюсь за создание глупой темы
Название: Re: Что за чертеж имеется при запуске автокада?
Отправлено: Александр Ривилис от 31-10-2016, 20:27:39
Мне сейчас прям вот стыдно немного
Если только немного, то это плохо! :D
Проверял - были не null
Document.Database могло и не быть null, а вот Document.IsNamedDrawing думаю должно было быть false