![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| 46&two |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 6.2.2004 Репутация: нет Всего: нет |
Проблема такая: явно, при помощи LoadLibrary() гружу dllку. Есть одна тонкость: подгружаемая мной библиотека, положим A.dll зависит от библитеки B.dll, иначе говоря, в B.dll описан класс, базовый для класса, описанного в A.dll.
Если программа сначала подгружает B, потом A, то всё работает замечательно. А вот если сначала я пытаюсь грузить B, то LoadLibrary() возвращает NULL, а GetLastError() == 127, иначе говоря A не находит в адресном пространстве процесса следов библиотеки B и отказывается грузиться. Что тут делать: как заставить B.dll проецироваться на адресное пространство программы совместно с A.dll? |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 7 Всего: 19 |
46&two
Попробуй добавь такой псевдокод в DllMain A.dll
|
|||
|
||||
| 46&two |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 6.2.2004 Репутация: нет Всего: нет |
хм. вообще говоря, A.dll скомпонована так, что она подгружает B.dll неявно (через lib файл). Т.е. в makefile прописана явная зависимость одной библиотеки от другой
|
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 7 Всего: 19 |
46&two
Это не заставляет прогу грузит B.dll в память при явном подключении (при вызове LoadLibrary связи хоть и проверяются, но тока на ошибки, без принудительной дозагрузки). Еще как вариант - неявно связать прогу с B.dll (через тот-же lib файл) |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |