Тема: как обработать событие закрытия файла?

Попробовала добавить в acrxEntryPoint 
case AcRx::kUnloadDwgMsg: , все работает, но, к сожалению, все мои функции вызываются уже после того, как файл закрылся.
  Можно ли как то поймать момент перед самым закрытием файла? И можно ли как-то отменить закрытие?

Т.е. сценарий таков: пользователь пытается закрыть окно, появляется диалог, где можно выбрать нек. действия, просто закрыть файл, либо отменить операцию.

Re: как обработать событие закрытия файла?

Всё говорит о том, что тебе необходимо использовать реакторы. Либо AcApDocManagerReactor, либо AcEditorReactor. Описание есть в разделе
"ObjectARX Readme"->"Tips and Techniques"->"Accurate Monitoring of Drawing Creation, Open, and Close",
ну и, конечно же,
"ObjectARX Developer's Guide"->"Notification".

Вот только, вносить изменения в ход выполнения работы AutoCAD'а с помощью реакторов я пока не пробовал. Мониторить-мониторил, а во "по рукам" пользователю ещё пока не шлёпал. Здесь нужен совет кого-то поопытнее.

Re: как обработать событие закрытия файла?

Перехват управления перед закрытием документа не очень простое занятие, как  может показаться на первый взгляд. Основную неприятность доставляет автокадовское диалоговое окно, которое ?нахально? появляется перед закрытием(любым способом) измененного чертежа. Для того, чтобы ?побороть? его и заменить своими собственным действиями, надо будет проделать  примерно следующие:
i) отловить уведомление автокада о закрытии документа в beginClose() Editor Reactor-a;
ii)затем для каждого открытого чертежа, с помощью undocumented API функции acdbSetDbmod(),  присвоить  системной переменной DBMOD(которая  read only) нулевое значение;
iii) потом с помощью функции SetWindowsHookEx() установить, CBT ловушку(hook), в теле которой и определить, что мы конкретно собираемся делать с закрываемым документом.