Главная страница
    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.48 MB
Время: 0.005 c
15-1226421022
cosinus
2008-11-11 19:30
2009.01.11
Подскажите, как лучше поступить...


2-1227686798
Trinimak
2008-11-26 11:06
2009.01.11
data diagram


2-1227868679
Scot Storch
2008-11-28 13:37
2009.01.11
директива absolute


9-1176816254
marsel
2007-04-17 17:24
2009.01.11
Glmisc.pas ругается


11-1196621606
Byka (345-824-826)
2007-12-02 21:53
2009.01.11
не получается закрыть форму с 1го раза ???





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский