Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

DLL и явное линкование

Аноним
создаю DLL , которая экспортирует класс, её Lib явно прилинковываю к своему проекту, всё нормально работает, но при выходе из программы (при закрытии главной формы), возникает ошибка, что типа "Чтение по адресу FFFFFFF" , и ошибка эта возникает в файле Forms.hpp во время вызова некоего деструктора TCustomerForm , помогите плз ламеру, объясните в чём дело ?
Эта ошибка возникает только в том случае, если ты к проекту прилинковываешь также все необходимые ей библиотеки компонентов, и Dynamic Rtl (убираешь в Project/Options/Packages и Project/Options/Linker соответствующие галочки), если нет то всё в порядке, но приходится таскать с собой мегабайтные DLL-ки, что не есть хорошо. В принципе для нормального импорта из DLL-ки класса нужна BorlandMM.Dll (если не ошибаюсь), но как прилинковать одни DLL и не прилинковывать другие я тоже не знаю,т к получается либо все ,либо ни одной, надеюсь на вашу помощь!
371
25 октября 2001 года
Non_prog
193 / / 20.03.2000
Попробуй закрывать Application->Terminate();
1.3K
25 октября 2001 года
A-L
2 / / 20.05.2000
Может быть, всё дело как раз в деструкторе

Прилинковывать другие dll-ки можно во время работы основной dll(или exe) функциями Windows API. При этом линковать используемые библиотеки при компиляции не надо.

Пример получения функции из dll:

typedef my_type (*MY_FUNC_T)(my_params);
MY_FUNC_T my_func;
HINSTANCE hInst = LoadLibrary("any.dll");
my_func = (MY_FUNC_T)GetProcAddress(hInst, "nameOfFunc");

дальше используешь my_func как обычную функцию
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог