Форум: "Прочее";
Текущий архив: 2009.01.11;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c