проблема с LoadLibrary под Vista
От: nektodron  
Дата: 07.09.07 15:07
Оценка:
Есть некое апи в виде dll написаное на дельфи. Dll сжатое и распаковка идет в DllMain (в подробности не вдавался).
Обнаружилась странная проблема, банальный вызов LoadLibrary не может загрузить эту dll, GetLastError выдает "Invalid access to memory".
Все было бы банально, но проявляется это, только если приложение, загружающее dll, компилится с помощью VS 2005, либо VS 2008.
Тот же код (из 3 строчек) скомпиленный в VS 2003 и 6.0 работает нормально!
Ошибка есть только под Vista, XP SP2 работает нормально...
Может кто, сталкивался с подобным?
Re: проблема с LoadLibrary под Vista
От: Vacabi  
Дата: 07.09.07 16:20
Оценка:
Здравствуйте, nektodron, Вы писали:

N>Есть некое апи в виде dll написаное на дельфи. Dll сжатое и распаковка идет в DllMain (в подробности не вдавался).

N>Обнаружилась странная проблема, банальный вызов LoadLibrary не может загрузить эту dll, GetLastError выдает "Invalid access to memory".
N>Все было бы банально, но проявляется это, только если приложение, загружающее dll, компилится с помощью VS 2005, либо VS 2008.
N>Тот же код (из 3 строчек) скомпиленный в VS 2003 и 6.0 работает нормально!
N>Ошибка есть только под Vista, XP SP2 работает нормально...
N>Может кто, сталкивался с подобным?

То, что вы описываете, называется "подземный стук". "Invalid access to memory" говорит о том, что DllMain в вашей DLL падает c access violation. Подключитесь к процессу отладчиком и смотрите где и почему падает, телепатов здесь нет.
Мои ¢2
-- Vacabi
Re: проблема с LoadLibrary под Vista
От: Andrew S Россия http://alchemy-lab.com
Дата: 07.09.07 16:27
Оценка:
N>Есть некое апи в виде dll написаное на дельфи. Dll сжатое и распаковка идет в DllMain (в подробности не вдавался).
N>Обнаружилась странная проблема, банальный вызов LoadLibrary не может загрузить эту dll, GetLastError выдает "Invalid access to memory".
N>Все было бы банально, но проявляется это, только если приложение, загружающее dll, компилится с помощью VS 2005, либо VS 2008.
N>Тот же код (из 3 строчек) скомпиленный в VS 2003 и 6.0 работает нормально!
N>Ошибка есть только под Vista, XP SP2 работает нормально...
N>Может кто, сталкивался с подобным?

Попробуйте запусть хост-приложение run as admin. Если заработает — значит проблема в elevation и манифесте.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[2]: проблема с LoadLibrary под Vista
От: nektodron  
Дата: 07.09.07 19:18
Оценка:
Здравствуйте, Vacabi, Вы писали:

V>То, что вы описываете, называется "подземный стук". "Invalid access to memory" говорит о том, что DllMain в вашей DLL падает c access violation. Подключитесь к процессу отладчиком и смотрите где и почему падает, телепатов здесь нет.


Исходников либы у меня нет, отладчик (из студии) в DllMain не заходит.
Re[2]: проблема с LoadLibrary под Vista
От: nektodron  
Дата: 07.09.07 19:19
Оценка:
Здравствуйте, Andrew S, Вы писали:

AS>Попробуйте запусть хост-приложение run as admin. Если заработает — значит проблема в elevation и манифесте.


Нет, запуск админом не помогает...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.