Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.49 MB
Время: 0.008 c
15-1226644981
Slider007
2008-11-14 09:43
2009.01.11
С днем рождения ! 14 ноября 2008 пятница


1-1205323967
0x01
2008-03-12 15:12
2009.01.11
Проблема при работе с DLL


2-1227617979
Вопрошающий
2008-11-25 15:59
2009.01.11
TStringList или StringReplace меняет кодировку


15-1226856379
DillerXX
2008-11-16 20:26
2009.01.11
А почему корпус компьютера


15-1226827602
Slider007
2008-11-16 12:26
2009.01.11
С днем рождения ! 15 ноября 2008 суббота





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский