Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.054 c
5-1088140621
AlexGreG
2004-06-25 09:17
2005.07.11
ComboBox с выпадающей формой TForm


3-1117040772
_dimka
2005-05-25 21:06
2005.07.11
Как увидеть добавленную запись не переоткрывая запрос? (IBX)


14-1118666992
zioza
2005-06-13 16:49
2005.07.11
Отключить клавиатуру


3-1117199951
ryds
2005-05-27 17:19
2005.07.11
Слияние двух баз данных InterBase


4-1116235680
СМА
2005-05-16 13:28
2005.07.11
СОМ порт под WIN_XP