![]() |
|
![]() ![]() ![]() |
|
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
HINSTANCE hLib = LoadLibrary("my.dll");
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL); MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION ); - Операция успешно завершена, но hLib = 0; |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 2 Всего: 106 |
lv151, покажи DLLMain этой библиотеки
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
||||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 2 Всего: 106 |
главная функция
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
Как отлаживать DllMain?
|
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 2 Всего: 106 |
открываешь свойства DLL-проекта, заходишь на вкладку Debugging и заполняешь пункт Сommand здесь нужно указать любую программу, которая загружает твою DLL ставишь брейкпойнт в DllMain и отлаживаешь -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
Так и делал, но у меня никогда не заходит в DllMain.
|
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 2 Всего: 106 |
значит длл не загружалась, может в пути напутал чего
пробуй загружать длл статически:
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL); MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION ); - Выдаёт - "Операция успешно завершена" |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 2 Всего: 106 |
да мы уже поняли ))
Добавлено через 1 минуту и 9 секунд я имел ввиду при отладке Добавлено через 2 минуты и 18 секунд говорю ж показывай DllMain, чего гадать-то -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
|
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 2 Всего: 106 |
ну, MFC в другом разделе
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
В смысле задавать вопрос в другой раздел форума?
Добавлено @ 17:29 В трэйсе при LoadLibrary наблюдается: First-chance exception in My1.exe (NTDLL.DLL): 0xC0000139: (no name). Я ошибся, не в том месте вызывал FormatMessage. Ошибка - "Не найден указанный модуль".
Это сообщение отредактировал(а) lv151 - 4.6.2009, 17:35 |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 2 Всего: 106 |
ну вот, а я уже переместил топик
сложно сказать, тут есть некоторые нюансы совместимости при загрузке образов в Vista/W7: http://www.wasm.ru/forum/viewtopic.php?id=32892 такое возможно, пожалуй, только если длл была скомпилирована, к примеру в XP, а загружается в висте по крайней мере, на это может указывать ошибка в NTDLL -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
нет, усё в хр. уже и явно путь прописал - та же ерунда :(.
|
|||
|
||||
bugmenot |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 3.7.2006 Репутация: 1 Всего: 1 |
Выложи exe и dll, если они не очень большие
--------------------
доска объявленийвсе о горных велосипедах |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Модуль может быть другой - используемый этой DLL. Нужно проверить зависимости. Но сначала 100% убедись, что имя \ путь правильно написал, до буквы...
-------------------- ... |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
т.е.?
Извини, не могу, рабочая(не имею права). Пересобрал все подключённые lib-ки, то же самое. А не может ли быть дело в exe-нике? Это сообщение отредактировал(а) lv151 - 5.6.2009, 09:36 |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
Таким образом ведут себя некоторые MFC-ые DLL-ки в моём проекте.
p.s. Я создал пустой проект и пробую их загружать.
проверил. Пробовал через ::AfxLoadLibrary, то же самое. Это сообщение отредактировал(а) lv151 - 5.6.2009, 10:47 |
|||
|
||||
bugmenot |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 3.7.2006 Репутация: 1 Всего: 1 |
Если не работает банально LoadLibrary, наверняка дело в DLL. PM? --------------------
доска объявленийвсе о горных велосипедах |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
||||
|
||||
bugmenot |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 3.7.2006 Репутация: 1 Всего: 1 |
В смысле не хочешь ли ты кинуть мне DLL-ку в PM (личное сообщение)?
Обещаю не продавать ![]() --------------------
доска объявленийвсе о горных велосипедах |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
Не имею права.
|
|||
|
||||
bugmenot |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 3.7.2006 Репутация: 1 Всего: 1 |
Ну тогда извини, не знаю, как тебе помочь.
--------------------
доска объявленийвсе о горных велосипедах |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
И на этом спасибо.
Я раньше не понимал - что за "Ад DLL", вот он и наступил ![]() Это сообщение отредактировал(а) lv151 - 5.6.2009, 14:31 |
|||
|
||||
Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
Что-то не совсем понятно что за "Ад" Ты дллку через LoadLibrary в экзэшнике грузишь или в какой другой длл? -------------------- ????? ??, ??????? ?????. ![]() |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
Да, создал пустой exe проект, в нём
HINSTANCE hLib6 = ::AfxLoadLibrary("d:\\mydll.dll"); hLib6 всегда = NULL; ![]() ![]() ![]() Это сообщение отредактировал(а) lv151 - 5.6.2009, 15:13 |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
FileMon в зубы и смотреть чего он пытается найти и не может
Добавлено через 46 секунд если не в том проблема (например динамически через ком чего грузится) тогда RegMon поможет -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
d:\WINSPOOL.DRV not found Attributes:Error
Всё сакссэс но hLib6 всегда = NULL; ![]() Это сообщение отредактировал(а) lv151 - 5.6.2009, 16:13 |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
Разобрался, DEPENDS.EXE решает. Дело в одной из подключаемых dll. УРА!
Всем спасибо! Это сообщение отредактировал(а) lv151 - 5.6.2009, 17:41 |
|||
|
||||
Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
lv151, ага, значит твоя длл использовала еще одну длл которой не было рядом.
![]() -------------------- ????? ??, ??????? ?????. ![]() |
|||
|
||||
lv151 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
Нет, была старая версия вложенной DLL.
Dependency Walker всё показал. http://ru.wikipedia.org/wiki/Dependency_Walker Это сообщение отредактировал(а) lv151 - 9.6.2009, 11:01 |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |