19/03/2014
Разрешение конфликтов MFC между ObjectARX MFC DLL и AutoCAD
Класс CAcModuleResourceOverride обеспечивает очень удобный способ для переключения дескриптора ресурсов MFC между AutoCAD и ресурсами вашего собственного ARX DLL приложения.Если вам нужно использовать функции пользовательского интерфейса AutoCAD внутри ваших функций, вы можете использовать класс CAcModuleResourceOverride() опираясь на его деструктор (который восстанавливает дескриптор ресурсов MFC AutoCAD)
Вот пример использования:
Код - C++: [Выделить]
- class CMyDialog : public CDialog
- {
- …
- };
- void ftn()
- {
- {
- // Здесь мы должны быть уверены, что используются ресурсы вашей dll
- CAcModuleResourceOverride resourceOverride;
- CMyDialog dlg;
- dlg.DoModal();
- } // Переключаемся обратно на ресурсы AutoCAD
- // теперь безопасно использовать эту функцию
- acedGetFileD(...);
- // теперь возвращаемся к диалогу
- {
- // здесь мы должны быть уверены, что будут использоваться ресурсы из вашей dll
- CAcModuleResourceOverride resourceOverride;
- CMyDialog dlg;
- dlg.DoModal();
- }
- }
Обсуждение: http://adn-cis.org/forum/index.php?topic=620
Опубликовано 19.03.2014