Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > dll динамическое подключение |
Автор: ALXP 9.7.2008, 14:27 | ||||
Столкнулся с траблой АААААААААА ![]() ![]() Проблема вот в чем. Создал ДЛЛ в Студии2005, ДИНАМИЧЕСКИ ПОДКЛЮЧАЮ К ПРОЭКТУ в билдере.
Меня волнует только hLibHandle ![]() ВСЕ РАБОТАЕТ ПРЕКРАСНО , hLibHandle при запуске проги получает хендл на мою ДЛЛ, и далее я проверяю
НО ЭТО ПРОИСХОДИТ ТОЛЬКО В ЭТОЙ ВИНДЕ ГДЕ Я ПИШУ КОД. Я не использую lib, мне это не надо. Только динамически беру файл длл и беру из него функции Взял получивхийся экзешник(нормально скомпиленый не требующих модулей и т.п.) и свою ДЛЛ. Кидаю в любую папку и запускаю прогу, длл берется и выполняется. Беру эту папку и копирую на пругой комп, запускаю там, прога работает ничего не требует, но как только нажимаю кнопоску чтобы подключилась длл, ХЕНДЛ не создается, он НУЛЛ. Что можно с этим сделать. Почему LoadLibrary на других машинах не возвращает хендл длл????? |
Автор: ALXP 9.7.2008, 14:55 |
Спасибо. Так теперь чтобы разобраться. 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 9.7.2008, 15:17 |
Скачал visual studio redistributable package для студии 2005 не SP1 Скомпилил ДЛЛ с тем параметром , не помогло . ![]() |
Автор: Lazin 9.7.2008, 15:32 | ||
нужно скомпилить с параметром 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 10.7.2008, 08:20 |
![]() Я удалил эти либы из линкера и собрал MD все заработало после установки redistrib 2005 пакета. Посмотрел в таблицу импорта MT, да все грузится внутрь dll ![]() Спасибо задача решена ![]() ![]() ![]() ![]() ![]() ![]() ![]() |