Тема: openDocument() не возвращает управление

функция AcApDocManager::openDocument() не хочет возвращать управление в точку вызова. Выглядит это следующим образом:
1)вызывается openDocument()
2)появляется диалог для выбора файла
3)выбранный файл загружается
...после этого ничего не происходит
если совершить нек. манипуляции в автокаде, например, открыть окно другого документа, то программа переходит к выполнению инструкции, следующей за openDocument.
Подскажите, пожалуйста, с чем может быть связано такое поведение.

P.S. аналогичным образом ведет себя и функция AcApDocManager::executeInApplicationContext

Re: openDocument() не возвращает управление

По работе с документами (Автокада, естественно) есть хороший пример в \samples\docman\
Может быть, он Вам поможет справиться с возникшими проблемами.

Re: openDocument() не возвращает управление

Такую проблемму я помню.
Тоже сталкивался.

Происходит она если если openDocument делается из контекста документа ( т.е. если сам вызов произошел из контекста документа и не важно зовешь ли ты дальше метод в контекста приложения executeInApplicationContext)

Происходит это потому что...
Открывается новый документ и приложение теперь имеет новый текущий контекст документа и выполнение кода в других контекстах останавливается ( в том числе и тот из которого этот документ открыли )

Главное:
Чтобы это победить надо зарегистрировать команду как выполняемую в контексте приложения (точно не помню, но флаг что-то типа SESION см. хелп по регистрированию команды ) и все будет OK

Re: openDocument() не возвращает управление

Огромное спасибо. Флаг ACRX_CMD_SESSION - то, что нужно. Теперь все работает так, как и хотелось. Вот только в связи с этим возникает интересный вопрос: описание этого флага есть только в хелпе на ObjectARX2002, а будет ли моя программа также успешно работать в 2000-м и, тем более, 14-м автокадах?