А если в нем есть прокси-объекты, то автокад "валится" с фатальной ошибкой внутри readDwgFile. Но, если в автокаде уже открыт хоть один документ, то все работает без проблем.Не сталкивался с таким. Но если такое происходит, то просто создай еще один пустой документ.
Но если такое происходит, то просто создай еще один пустой документ.От обновлений не зависит. Я пока так и делал и это работает. Но нужно быть уверенным в наличии .dwt и на экране вкладка моргает.
Надеюсь установлены все обновления для AutoCAD 2015?
Еще одна мысль. Если нет ни одного открытого документа (ты можешь это проверить), то попробуй использовать конструктор:А вот это пока работает.Код - C++ [Выбрать]
AcDbDatabase* pDwg = new AcDbDatabase(false, false);
А вот это пока работает.Ага! Значит и на этот раз интуиция не подвела. :)
Да, какое внезапное поведение параметра... :)А вот это пока работает.Ага! Значит и на этот раз интуиция не подвела. :)
Да, какое внезапное поведение параметра... :)Тут как раз всё логично - этот параметр при true требует наличия хотя бы одного документа. Скорее нелогично почему только при прокси в этом случае Fatal Error. Кстати, при false и наличии AcDbOle2Frame ты не сможешь их перемещать - эта информация на всякий случай. Возможно это не единственное побочное действие.
Недолго музыка играла. :( Нашелся dwg с прокси и с отсутствующими shx и ага. При открытии нового документа не падает.А вот это пока работает.Ага! Значит и на этот раз интуиция не подвела. :)
Сейчас новый документ создается из шаблона acad.dwt. Можно рассчитывать, что он есть всегда и будет открываться без проблем?Нет. Кстати, а почему не acadiso.dwt?
В данном случае без разницы, окно же сразу закроется, пользователь только увидит мелькание закладки от него сможет.Сейчас новый документ создается из шаблона acad.dwt. Можно рассчитывать, что он есть всегда и будет открываться без проблем?Нет. Кстати, а почему не acadiso.dwt?
Кстати, а почему не пойти другим путём и не препятствовать закрытию последнего открытого документа?А нечего пока закрывать. "Чтобы продать что-то ненужное..." :)
Вообще каким образом у тебя возникает ситуация, когда нет ни одного открытого документа?Обработка файла производится до его открытия автокадом.
Zero-document state - это очень неустойчивое состояние AutoCAD и лучше в него не попадать.Ну это же не повод в нем совсем не работать.
Обработка файла производится до его открытия автокадом.В нормальном состоянии при запуске AutoCAD в нём уже есть хотя бы один открытый документ, если конечно ты не пытаешься работать с AutoCAD на этапе его инициализации, чего делать не следует.
Ну это же не повод в нем совсем не работать.Ты просто сам себе ищешь лишние приключения. Но это твоё право.
В нормальном состоянии при запуске AutoCAD в нём уже есть хотя бы один открытый документ, если конечно ты не пытаешься работать с AutoCAD на этапе его инициализации, чего делать не следует.Поизучал скудный хелп и перенес все проверки и правки в initialDwgFileOpenComplete. Все стало как надо, но все вопросы хелп еще не решил.
Ты просто сам себе ищешь лишние приключения. Но это твоё право."Все украдено до нас". :D