![]() |
|
![]() ![]() ![]() |
|
ALXP |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 6.2.2008 Где: Левое полушарие Л уны Репутация: нет Всего: нет |
Столкнулся с траблой АААААААААА
![]() ![]() Проблема вот в чем. Создал ДЛЛ в Студии2005, ДИНАМИЧЕСКИ ПОДКЛЮЧАЮ К ПРОЭКТУ в билдере.
Меня волнует только hLibHandle ![]() ВСЕ РАБОТАЕТ ПРЕКРАСНО , hLibHandle при запуске проги получает хендл на мою ДЛЛ, и далее я проверяю
НО ЭТО ПРОИСХОДИТ ТОЛЬКО В ЭТОЙ ВИНДЕ ГДЕ Я ПИШУ КОД. Я не использую lib, мне это не надо. Только динамически беру файл длл и беру из него функции Взял получивхийся экзешник(нормально скомпиленый не требующих модулей и т.п.) и свою ДЛЛ. Кидаю в любую папку и запускаю прогу, длл берется и выполняется. Беру эту папку и копирую на пругой комп, запускаю там, прога работает ничего не требует, но как только нажимаю кнопоску чтобы подключилась длл, ХЕНДЛ не создается, он НУЛЛ. Что можно с этим сделать. Почему LoadLibrary на других машинах не возвращает хендл длл????? |
||||
|
|||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 18 Всего: 154 |
это потому-что dll зависит от runtime library, при попытке загрузить библиотеку, сначала загружаются библиотеки из таблицы импорта, если что-то загрузить не удается библиотека не загружается, установи на другом компе visual studio redistributable package, либо используй статическую компоновку (ProjectPropertys - C++ - Code Generation - Runtime Library - Multitraded(debug) library) |
|||
|
||||
ALXP |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 6.2.2008 Где: Левое полушарие Л уны Репутация: нет Всего: нет |
Спасибо. Так теперь чтобы разобраться.
1) Я пишу на билдере. 2) (ProjectPropertys - C++ - Code Generation - Runtime Library - Multitraded(debug) library) так понимаю мне надо установить в студии и скомпилить заново ДЛЛ? ТАК? 3) visual studio redistributable package - это типа пакетик, но где его взять, с сайта мелкомягких? и если выполнить пункт 2) то 3) делать ненадо ??? 4) Делая пункт 2) в настройке увидел такую штуку Multi-threaded (/MT) Multi-threaded Debug (/MTd) Multi-threaded DLL (/MD) - то что у меня стояло Multi-threaded Debug DLL (/MDd) - это то что надо выбрать ТАК? |
|||
|
||||
ALXP |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 6.2.2008 Где: Левое полушарие Л уны Репутация: нет Всего: нет |
Скачал visual studio redistributable package для студии 2005 не SP1
Скомпилил ДЛЛ с тем параметром , не помогло . ![]() |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 18 Всего: 154 |
нужно скомпилить с параметром Multi-threaded (/MT) или (/MTd) для дебажной версии Multi-threaded (/MT) - статическая компоновка Multi-threaded Debug (/MTd) - статическая отладочная версия библиотеки Multi-threaded DLL (/MD) - динамическая библиотека Multi-threaded Debug DLL (/MDd) - динамическая отладочная версия runtime библиотеки Добавлено через 2 минуты и 2 секунды кстати, возможно DLL тянет за собой еще что-нибудь кроме rtl |
|||
|
||||
ALXP |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 6.2.2008 Где: Левое полушарие Л уны Репутация: нет Всего: нет |
![]() Я удалил эти либы из линкера и собрал MD все заработало после установки redistrib 2005 пакета. Посмотрел в таблицу импорта MT, да все грузится внутрь dll ![]() Спасибо задача решена ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |