Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Loadlibrary не подгружает dll при отладке |
Автор: becks 30.1.2012, 16:32 | ||||||||
Добрый день, коллеги. Опишу ситуацию: есть dll (назовем ее t.dll), созданная в VS 2008, она экспортирует одну функцию:
Библиотека t.dll использую в проекте на С++, созданном в RAD XE, библиотека подключается следующим образом (проверки убрал ради экономия места): Facts.h
// main.cpp
И вот тут возникает 2 вопроса: 1) LoadLibrary НЕ подгружает библиотеку во время отладки и подгружает во время обычного исполнения модуля. 2) Если функция GetFactsFromText вызывается в модуле main.cpp, то отлично отрабатывается, если в каком либо другом, то ее адрес = 0, хотя в модуле есть: Некоторый_модуль.cpp
Буду очень благодарен за помощь. Спасибо. Добавлено через 3 минуты и 39 секунд Забыл написать, GetLastError() , вызванный сразу после LoadLibrary, возвращает 3221225622. ![]() |
Автор: Dem_max 30.1.2012, 16:43 | ||||
Как то невероятно.
Значит это какая то другая функция в другом модуле. |
Автор: becks 30.1.2012, 16:58 | ||||
Сам в шоке, без шуток.
Только что еще раз проверил, больше никаких объявлений нет. |
Автор: Static 31.1.2012, 13:45 |
Относительные пути к dll во время обычного запуска и во время отладки правильно указаны? |
Автор: 12usver12 2.2.2012, 19:19 |
сделай GetCurrentDirectory во время отладки и сравни с путем своей дллки |
Автор: GremlinProg 6.2.2012, 06:38 | ||||
по теме, т.е. конкретно: почему при отладке не подгружается, а без нее - подгружается, соглашусь с последними постами, а вот что касается остального + буквально на днях обсуждали аналогичную тему:
1. сомневаюсь, что таким экспортом получится импортировать GetProcAddress(dllInstance, "GetFactsFromText"), т.к. имя функции модифицируется в соответствии с принятым соглашением вызова в dll, 2. прототипы стоит объявить примерно так:
|