Тема: Снова проблемы с открытием-закрытием документов:(
Продолжаю проект, к которому относится ветка:
"acDocManager->appContextOpenDocument( pszFileName ) возвращает Acad::eNotApplicable"
Работа ведётся в контексте приложения. Последовательно открываются/закрываются несколько файлов в новых документах.
Как я понял, вызов функции
acDocManager->closeDocument( AcApDocument* pDoc );
не производит немедленного закрытия документа, а откладывает это до момента выхода программы из контекста приложения. По крайней мере, если сразу после closeDocument(...) проверить файл текущей базы данных:
acdbHostApplicationServices()
->workingDatabase()
->getFilename( pszCurFileName );
то выясняется (по крайней мере у меня), что это файл уже закрытого документа.
Приходится до открытия файла сохранять указатель на активный документ acDocManager->mdiActiveDocument(); и после закрытия файла делать вызов
ISOK( acDocManager->activateDocument ( m_pOldActiveDoc ) );
Ну да ладно, проблема не в этом...
Самая большая "засада" в том, что если я закрываю несколько документов, то после выхода из контекста приложения, AutoCAD закрывает только последний из "закрытых" документов; окна остальных документов остаются "висеть".
Сейчас пробую сделать так: не закрывать документы сразу, а сохранить указатели на эти документы до момента выхода из контекста приложения, и только после выхода их закрыть.
Что я делаю не так? Есть ли решение моей проблемы?
P.S. Открываются новые документы с помощью
ISOK( acDocManager->appContextOpenDocument( pszFileName ) );