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

13/09/2013

Закрытие документов из унаследованного от CAdUiDialog диалога

Вопрос:
Я не могу закрыть документы с использованием closeDocument API из диалога, унаследованного от CAdUiDialog, так как AutoCAD сообщает, что документ занят. Почему это происходит?

Ответ:
Убедитесь что вы вызываете closeDocument API из контекста приложения (смотрите executeInApplicationContext API). Если вы это делаете, то позаботьтесь включить активизацию документов (enableDocumentActivation API). CAdUiDialog отключает активизацию документов в переопределенном методе DoModal и как результат, AutoCAD не может закрыть документы.

Причина, по которой CAcUiDialog это делает, это тот факт, что когда происходит запрос к пользователю для вода данных из этого диалога, то пользователь может переключиться на другой документ и соответственно сделать его активным. CAcUiDialog пытается предотвратить этот сценарий событий.

 

Источник: http://adndevblog.typepad.com/autocad/2013/03/closing-documents-from-an-caduidialog-derived-modal-dialog.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=208

Опубликовано 13.09.2013