Пишу графическую библиотеку dll для приложения, используя его API, на Qt для x86. Использую VS2015 и официальный плагин Qt. Есть место в коде, где требуется установить экспортную функцию. Есть рабочий пример на MFC:
SetCallBack(L"CALLBACKPROC", (long)sampleApp.m_hInstance);
А так я написал в своей библиотеке:
SetCallBack(L"CALLBACKPROC", (long)qApp);
И он, как обычно у меня бывает, не работает. Функция должна возвращать 1, а у меня возвращает -1. Функция в .def файл занесена.
Может есть у кого-то какие-то соображения или кто знает, почему не работает?
Использование кода SetCallBack(L"CALLBACKPROC", (long)::GetModuleHandle(L"LibName.dll")); решило проблему.
::GetModuleHandle(NULL) возвращает HINSTANCE на приложение, а не на подключаемую библиотеку.
Спасибо KoVadim.
Продвижение своими сайтами как стратегия роста и независимости