ATL 3.0 to 8.0
От: Мишень-сан  
Дата: 11.08.09 14:07
Оценка:
Всем доброго времени суток!

Есть небольшая аппликуха, собираемая на MSVC 6.0 и MSVC 2005. Соответственно, версии ATL 3.0 и 8.0.
Аппликуха дёргается с помощью COM из основного приложения и при старте вешает глобальный хук на кнопку.
Собсно проблема следующая. Собранный на ATL 8.0 вариант работает некорректно, т.е. _Module.Lock и Module.Unlock вызываются не в тех местах
(Lock при вызове LoadLibrary — подгрузка ресурсной либы, Unlock при вызове MAPILogoff — аппликуха пользует MAPI при нажатии на хукнутую кнопку). Как результат, приложение тихо завершается при первом же нажатии на кнопку (Lock/Unlock вызывают AfxOleLockApp/AfxOleUnlockApp). Для ATL 3.0 всё работает нормально — вызовы Lock и Unlock происходят при работе с COM объектом.

Собственно проблема — куда копать чтобы это поправить?
P.S: в ATL не разбираюсь, копание исходников результатов не дало.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.