LoadLibrary повертає 0
Здрастуйте, шановні Майстри.
існує Dll-файл "magic.dll", який лежить у поточній папці (папці exe-шника).
На одній машині дзвінок LoadLibrary("magic.dll") повертає 0, в той час як на інших машинах завантаження Dll відбувається нормально. При статичному лінку виникає страшний Exception. Хоча, знову-таки, на інших машинах все добре.
Спочатку я подумав, що в якійсь нитці "C: Windows" є зіпсована "magic.dll" і саме її завантажити і не виходить. Я перейменував Dll, викликаю LoadLibrary з новим ім'ям, але результат колишній.
Чому це може бути? Допоможіть будь ласка.
P.S. антивірус – NOD32. На іншій машині з NOD32 все працює нормально. Антивірусні основи однакові.
А GetLastError що каже?
> DevilDevil (15.11.08 11:07)
hLib := LoadLibrary("magic.dll");Win32Check(hLib <> 0);
і одразу все стане ясно.
сьогодні перевірю. Дякую!
ntfs-Права на файл невідповідні?
System Error. Code: 14001. Програма не була запущена, оскільки вона некоректно налаштована. повторне встановлення програми може вирішити цю проблему.
> Правильний$Вася (15.11.08 19:26) [4]
і там і там - адміністратор. і там і там - XP.
Застосування буде схвалено, щоб запустити, що його сторона-на-власний параметр є неправильним. Для того, щоб скористатися можливим log для more detail.
"Це що взагалі за фігня?"(С)
а як у ній собака? може, вона своєю чергою чогось підвиклить?
> існує Dll-файл "magic.dll"Е. а файл, випадково, не на msvc80 зібраний?
Хех. "Довбаний С++"(с) я. Проблему "вирішив", дякую гуглу.
Як виявилося, проблема відносно частозустрічається. Лікується завантаженням Microsoft Visual C++ 2005 Redistributable Package x86(2.6мб): http://www.microsoft.com/downloads/details.aspx?Family > Всім учасникам дякую!
> DevilDevil (16.11.08 1:54) [9]Є й інші способи лікування (але не завжди допомагають)
Create directory Microsoft.VC80.CRT next to your .exe and .manifest file. Створити Microsoft.VC80.CRT.Manifest file into directory with data:
> вчи англійську.неправильно висловився.
Гугл сказавякподивитися логи. а коли помилки були знайдені - гул сказав як лікувати.
> Ляпа (16.11.08 1:58) [10]але я так і не зрозумів, через що бага то ? на інших компах VC++ не встановлений, хоча dll вантажилася. підозрюю , Що справа в 3м ServicePack-е, який стоїть на інших машинах і не стоїть на цій (на цій - 2й).
> що справа в 3м ServicePack-і, що стоїть на інших машинах > і не стоїть на цій (на цій - 2й).
DevilDevil (15.11.08 11:07)
Спробуй викликати перед завантаженням DLL InitCommonControls();