Текущий архив: 2005.07.11;
Скачать: CL | DM;
ВнизПодключение библиотек во время работы программы Найти похожие ветки
← →
MishaVagin (2005-06-15 15:10) [0]Никогда раньше с библиотеками не работал. Сейчас разобрался, как создавать DLL, подключать их и использовать библиотечные функции в программе.
Упрощенно вопрос такой: есть N-количество библиотек с одной и той же функцией "HelloWorld". Есть форма, на ней кнопка, которая вызывает эту функцию из DLL. В задумке, пользователь выбирает (напр. через OpenDialog) нужную ему DLL-ку и при последующем нажатии кнопки, функция HelloWorld вызывается из той библиотеки, которую он выбрал. Возможно ли это как-нибудь реализовать и, если - да, то как?
← →
Digitman © (2005-06-15 15:15) [1]
> Возможно ли это как-нибудь реализовать
возможно.
> как?
ну ты же сам сказал - "пользователь выбирает (напр. через OpenDialog) нужную ему DLL-ку и при последующем нажатии кнопки, функция HelloWorld вызывается из той библиотеки, которую он выбрал"
проблемы-то какие ?
← →
TUser © (2005-06-15 15:18) [2]Да, возможно. Только надо знать прототип экспортируемых функций. Дальше делать примерно так
type
TProc = прототип
var P: TProc;
h:=LoadLibraray(PChar(Name));
if h = 0 then raise ...
@P:=GetProcAddress(h,procName);
и вызываем
P(параметры);
Потом делаем FreeLibrary (h);
← →
MishaVagin (2005-06-15 15:32) [3]TUser:
Спасибо большое. Работает. :)
Digitman ©:
Я не знал, что процедуры и функции из библиотек можно вызывать при помощи LoadLibrary. Функции я прописывал заранее в юните и делал их внешними.
← →
evvcom © (2005-06-15 15:45) [4]
> Функции я прописывал заранее в юните
Значит с этим
> Сейчас разобрался, как ..., подключать их и использовать
разобрался не до конца. :)
Страницы: 1 вся ветка
Текущий архив: 2005.07.11;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.038 c