VC++2005: LoadLibrary
От: JumangeeNET Россия http://forum.myquest.ru
Дата: 30.08.08 15:31
Оценка:
Здравствуйте

Проблема странная, но есть. При подключении DLL с помощью LoadLibrary она возвращает 0, а GetLastError = 126 — "Не найден указанный модуль". Эта ошибка вроде как должна появляться только если не найдены модули от которых зависит моя DLL, но они все рядом! Проверял с помощью Dependency Walker — больше никакие не нужны вроде как (он сказал что нужна msvcr80.dll её и всех похожих на нее я подложил рядом, при этом, vc2005 цепляет ее при запуске сам судя по 'core.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_...\msvcp80.dll', No symbols loaded. ). DLL пробовал цеплять и с абсолютными путями, и с относительным....

Возможно ли что причина в самой DLL-ке? Проверил dllmain — она всегда возвращает true, записи в лог нету — значит dllmain ещё не вызывалась вообще?

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    FILE* f = fopen("log.txt", "a");
    fputs("dll test!", f);
    fclose(f);

    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}


Сама по-себе длл-ка содержит одну ф-ию отдающую экземпляр класса:

extern "C" __declspec( dllexport ) ISubSys* createSubSys(ICoreSubSys* core)
...


В общем, компиляется, а потом — такая задница....
Могу выложить саму DLL для вскрытия, могу приложить список внешних длл которые положил рядышком... помогите! целый день над этим бьюсь....
visual v++ loadlibrary dll
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.