Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.11;
Скачать: CL | DM;

Вниз

LoadLibrary возвращает 0. Из-за чего ?   Найти похожие ветки 

 
DevilDevil   (2008-11-15 11:07) [0]

Здравствуйте, уважаемые Мастера.

существует Dll-файл "magic.dll", который лежит в текущей папке (папке exe-шника).

На одной машине вызов LoadLibrary("magic.dll") возвращает 0, в то время как на других машинах загрузка Dll происходит нормально. При статической линковке возникает страшный Exception. Хотя, опять-таки, на других машинах всё ok.

Сначала я подумал, что в какой-нить "C:\Windows\" есть попорченная  "magic.dll" и как раз её загрузить и не получается. Я переименовал Dll, вызываю LoadLibrary с новым именем, но результат прежний.

Из-за чего это может быть? Помогите, пожалуйста.

P.S. антивирус - NOD32. На другой машине с NOD32 всё работает нормально. Антивирусные базы одинаковые.


 
Sergey Masloff   (2008-11-15 11:11) [1]

А GetLastError что говорит?


 
Юрий Зотов ©   (2008-11-15 12:46) [2]

> DevilDevil   (15.11.08 11:07)  

Добавьте строчку:

hLib := LoadLibrary("magic.dll");
Win32Check(hLib <> 0);

и сразу все станет ясно.


 
DevilDevil   (2008-11-15 13:50) [3]

> Sergey Masloff   (15.11.08 11:11) [1]
> Юрий Зотов ©   (15.11.08 12:46) [2]

сегодня проверю. спасибо!


 
Правильный$Вася   (2008-11-15 19:26) [4]

ntfs-Права на файл неподходящие?


 
DevilDevil   (2008-11-15 22:42) [5]

System Error. Code: 14001.
Приложение не было запущено, поскольку оно некорректно настроено. повторная установка приложения может решить данную проблему.

> Правильный$Вася   (15.11.08 19:26) [4]

dont understand.

и там и там - администратор.
и там и там - XP.


 
DevilDevil   (2008-11-16 00:39) [6]

ERROR_SXS_CANT_GEN_ACTCTX
14001
0x36B1

The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail.

"Это что вообще за фигня ?"(с)


 
KilkennyCat ©   (2008-11-16 01:25) [7]

а точно в ней собака? может, она в свою очередь исчо че-то подвызывает?


 
Ляпа   (2008-11-16 01:40) [8]


> существует Dll-файл "magic.dll"

Э... а файлик, случаем, не на msvc80 собран?


 
DevilDevil   (2008-11-16 01:54) [9]

Хех... "долбаный С++"(с) я.
Проблему "решил", спасибо гуглу.

"Гугл" посоветовал просмотреть системные логи. Обнаружились SideBySide ошибки 59 и 32.

Как оказалось, проблема относительно часто встречается.
Лечится скачиванием Microsoft Visual C++ 2005 Redistributable Package x86(2.6мб):
http://www.microsoft.com/downloads/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee&DisplayLa%20%20ng=en&displaylang=en

Всем участникам спасибо!


 
Ляпа   (2008-11-16 01:58) [10]


> DevilDevil   (16.11.08 01:54) [9]

Есть и другие способы лечения (но не всегда помогают)


Create directory Microsoft.VC80.CRT next to your .exe and .manifest file. Create Microsoft.VC80.CRT.manifest file into that directory with data:

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright ? 1981-2001 Microsoft Corporation -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <noInheritable/>
   <assemblyIdentity
       type="win32"
       name="Microsoft.VC80.CRT"
       version="8.0.50608.0"
       processorArchitecture="x86"
       publicKeyToken="1fc8b3b9a1e18e3b"
   />
   <file name="msvcr80.dll"/>
   <file name="msvcp80.dll"/>
   <file name="msvcm80.dll"/>
</assembly>

The versions of course has to match for one which was used to compile the application. After that just copy the 3 .dlls into that folder and you should be fine.


 
sniknik ©   (2008-11-16 02:41) [11]

> "Гугл" посоветовал просмотреть системные логи.
гугл тебе просто перевел сообщение об ошибке...
DevilDevil   (16.11.08 00:39) [6]
> The application has failed to start because its side-by-side configuration is incorrect.
> Please see the application event log for more detail.
вот это как раз совет их посмотреть...
учи английский.


 
DevilDevil   (2008-11-16 06:47) [12]

> учи английский.
неправильно выразился.

гугл сказал как посмотреть логи.
а когда ошибки были найдены - гул сказал как лечить.

> Ляпа   (16.11.08 01:58) [10]
но я так и не понял, из-за чего бага то ?
на другиъх компах VC++ не установлен, хотя dll грузилась.
подозреваю, что дело в 3м ServicePack-е, который стоит на других машинах и не стоит на этой (на этой - 2й).


 
KilkennyCat ©   (2008-11-16 15:14) [13]


> что дело в 3м ServicePack-е, который стоит на других машинах
> и не стоит на этой (на этой - 2й).


нет слов...


 
DevilDevil   (2008-11-16 17:14) [14]

> KilkennyCat ©   (16.11.08 15:14) [13]
типа умный что ли ?


 
Тыщ ©   (2008-11-16 17:55) [15]

DevilDevil   (15.11.08 11:07)

Попробуй вызвать перед загрузкой DLL
InitCommonControls();


 
KilkennyCat ©   (2008-11-16 23:45) [16]


> DevilDevil   (16.11.08 17:14) [14]

нет, других слов...


 
DevilDevil   (2008-11-17 11:09) [17]

> Тыщ ©   (16.11.08 17:55) [15]
зачем?



Страницы: 1 вся ветка

Текущий архив: 2009.01.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
2-1227969919
snake-as
2008-11-29 17:45
2009.01.11
Поиск в поткаталогах


2-1227819867
demon
2008-11-28 00:04
2009.01.11
Как сохранить в ini-файл значение HBRUSH ?


15-1226891927
KSergey
2008-11-17 06:18
2009.01.11
Глупый вопрос: сравнение double


2-1227701460
2B
2008-11-26 15:11
2009.01.11
Переделать код


15-1226267200
KilkennyCat
2008-11-10 00:46
2009.01.11
Как же все надоело...