Можно ли работать с другим (неактивным) документом

Автор Тема: Можно ли работать с другим (неактивным) документом  (Прочитано 3087 раз)

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

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

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 1
Добрый день!

Возможно эта тема уже где-то затрагивалась, но я не нашел(((

Возникла необходимость работать с двумя документами одновременно.

Сценарий вкратце такой:

Для активного документа запускается плагин, пользователь выбирает второй документ и далее плагин делает какие-то манипуляции в обоих документах. Проблема в том, что во втором (неактивном) документе нужно создать листы, а LayoutManager.Current - работает только с активным документом. Когда я пытаюсь сделать второй документ активным, присвоив его Application.DocumentManager.MdiActiveDocument то плагин просто виснет до тех пор, пока я вновь не сделаю активным первый документ.

Спасибо!

Отмечено как Решение Alexx 05-10-2015, 09:25:45

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Когда я пытаюсь сделать второй документ активным, присвоив его Application.DocumentManager.MdiActiveDocument то плагин просто виснет до тех пор, пока я вновь не сделаю активным первый документ.
Команда, которая хочет переключаться между документами:
1) Должна иметь флаг CommandFlags.Session (т.е. работать в контексте приложения)
2) При работе с чертежом должна его блокировать:
Код - C# [Выбрать]
  1. using (DocumentLock locDoc = doc.LockDocument())
  2. {
  3. // Здесь модифицируем документ
  4. }
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 1
Александр, спасибо! Все получилось!