Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.25;
Скачать: CL | DM;

Вниз

Подключение DLL   Найти похожие ветки 

 
Mameluke ©   (2005-07-06 17:25) [0]

Здравствуйте!

Буду благодарен за любую помощь в разрешении следующей проблемы:
существуют несколько разных DLL-библиотек, содержащих одинаковую функцию (вернее, каждая библиотека содержит свой вариант реализации этой функции). Насколько мне известно, подключение функции из DLL-библиотеки осуществляется, к примеру, следующим образом:

function ExtHashFunc (Str: ShortString; A,B: real; M:integer):integer;
external "ExternalHashFunc/ExtHashIn.dll";

но при таком подключении невозможно изменить имя DLL. Передо мной стоит задача сделать так, чтобы при использовании программы пользователь мог выбирать нужную DLL (через OpenDialog) с той реализацией функции, которую сочтет предпочтительной. Каким образом можно осуществить возможность такого выбора? Я слышал про динамическую загрузку и функции
LoadLibrary и GetProcAddress, но что это такое и как это использовать в моем случае?


 
Ega23 ©   (2005-07-06 17:31) [1]

Использовать динаическую загрузку dll.

procedure TForm1.Button3Click(Sender: TObject);
type
TWork = function(List:TKedrObjList):Boolean;

var
hLib:THandle;
Work:TWork;
begin
if not OpenDlg.Execute then Exit;
hLib:=LoadLibrary(PChar(OpenDlg.fileName));
@Work:=GetProcAddress(hLib, PChar("WORK"));
if @Work<> nil then Work(KedrObjList);

FreeLibrary(hLib);

end;



 
Mameluke ©   (2005-07-08 01:44) [2]

Большое спасибо! Разобрался, теперь все работает!



Страницы: 1 вся ветка

Текущий архив: 2005.07.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
14-1119972717
Viktop
2005-06-28 19:31
2005.07.25
Установка JEDI VCL 3.0 в Delphi 2005


14-1120099743
Soft
2005-06-30 06:49
2005.07.25
Вы хотели бы быть похоронены в гробу из системного блока?


14-1120059723
Вольный Стрелок
2005-06-29 19:42
2005.07.25
Консольная Win32 прога общается не в той кодировке


1-1120926660
Michael5
2005-07-09 20:31
2005.07.25
Подскажите, как код разнести по разным файлам (Unit ам)?


1-1120377854
VadimX
2005-07-03 12:04
2005.07.25
Помогите оптимизировать код