Использование ATL для автоматизации MFC приложений
От: IT (перевод) Россия linq2db.com
Дата: 03.07.03 12:18
Оценка: 156 (4)
Статья:
Nick Hodapp. Использование ATL для автоматизации MFC приложений
Автор(ы): Nick Hodapp
Дата: 15.07.2001


Авторы:
IT (перевод)

Аннотация:
...MSVC 6.0 предоставляет возможность легко добавлять поддержку ATL объектов в существующее MFC приложение. Использование ATL позволяет кодировать COM объекты более лёгко и быстро, это даёт массу преимуществ по сравнению с MFC. Но, к сожалению, MSVC IDE генерирует эти ATL COM объекты так, что их крайне трудно использовать из самого MFC приложения. Это результат соглашения, применяемого IDE при генерации заглушек (stubs) методов объектов. Когда создаётся заглушка, макрос AFX_MANAGE_STATE(AfxGetStaticModuleState()) подключает информацию о внутреннем состоянии MFC, которая может отличаться от необходимой для выполняемого в данный момент модуля. (Более подробную информацию об MFC state-handling, см. в Tech Note 58.) Таким образом, вызов функции AfxGetApp() из метода ATL COM объекта не возвращает "реальное" приложение, которое выполняется в данном модуле (фактически, не возвращается никакого CWinApp объекта). Причина такого соглашения — возможные проблемы в многозадачной среде...
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.