Здравствуйте помогите пожалуйста решить следующую проблему.Создал библиотеку и попробовал загрузить её динамически при помощи LoadLibrary но при этом получил ошибку с кодом 126 который соответсвует что путь по которому занружается библиотека неверный. Я скорпировал DLL бибилиотеку и в папку Windows и в папку с exe файлом на эмуляторе но всё равно получал одну и ту же ошибку 126. Вот код того как я это делал
typedef bool (WINAPI *SETProc)(HINSTANCE,int);
SETProc setProc;
HMODULE mod
LPTSTR path =PathFindFileName(L"FuncTest.dll");
int error=0;
if(path!=NULL)
{
mod = LoadLibrary(_T("FuncTest.dll"));
if(mod!=NULL)
{
setProc=(SETProc)GetProcAddress(mod,TEXT("setHooks"));
bool res = (*setProc)(hInstance,20);
}
else
error =GetLastError();
}
else
error = GetLastError();
При этом DLL библиотека тоже написанан С++.
Помогите пожалуйста.
Добавлена разметка — Кодт
11.10.08 02:22: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
Здравствуйте, DmitryAbramov, Вы писали:
Сложно сказать. Возможно причина кроется в самой библиотеке.
Могу лишь порекомендовать использовать def-файл:
LIBRARY "FuncTest"
EXPORTS
setHooks
Внимательно прочтите статью MSDN о LoadLibrary (Remarks секцию). Эта функция работает несколько иначе, нежели ее десктопный аналог.
А так на первый взгляд все корректно.
DA>Здравствуйте помогите пожалуйста решить следующую проблему.Создал библиотеку и попробовал загрузить её динамически при помощи LoadLibrary но при этом получил ошибку с кодом 126 который соответсвует что путь по которому занружается библиотека неверный. Я скорпировал DLL бибилиотеку и в папку Windows и в папку с exe файлом на эмуляторе но всё равно получал одну и ту же ошибку 126. Вот код того как я это делал
DA>typedef bool (WINAPI *SETProc)(HINSTANCE,int);
DA> SETProc setProc;
DA> HMODULE mod
DA> LPTSTR path =PathFindFileName(L"FuncTest.dll");
DA> int error=0;
DA> if(path!=NULL)
DA> {
DA> mod = LoadLibrary(_T("FuncTest.dll"));
DA> if(mod!=NULL)
DA> {
DA> setProc=(SETProc)GetProcAddress(mod,TEXT("setHooks"));
DA> bool res = (*setProc)(hInstance,20);
DA> }
DA> else
DA> error =GetLastError();
DA> }
DA> else
DA> error = GetLastError();
DA>При этом DLL библиотека тоже написанан С++.
DA>Помогите пожалуйста.... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Хм, никогда не наблюдал проблем с LoadLibrary на WM. Попробуйте подгрузить какую-нибудь из существующих библиотек. Вероятнее всего это должно получиться, а раз так, значит скорее всего дело в самой вашей DLL.
В жизни кaждoгo челoвекa бывaют приятные мoменты, кoгдa oн чувствует себя пoлным идиoтoм. Приятнoсть этих мoментoв в пoстижении истины.