Надо подключить DLL и использовать некоторые ее функции в Delphi

Первый вариант:

procedure procname1(param1:type1; param2:type2... и т.д.) external
'dllname.dll' name 'procname_in_dllfile';

Но тут есть один нюанс: при отсутствии DLL модуля, либо при отсутствии в нем указанной процедуры будет выдаваться ошибка и запуск программы будет отменен.

Второй вариант:

Type
  prc1 = procedure (param1:type1; param2:type2... и т.д.) ;
var
  proc1 : prc1;
  head : integer ; // или что-то в этом роде
.....
var
  p : pointer;
begin
  head:= loadlibrary ('DLLFile.DLL'); // загружаем модуль в память
  if head=0 then
  begin
    // Сообщаем о том что модуль не найден
  end
  else
  begin
    // Ищем в модуле наши процедуры и функции
    p:=getprocaddress ('Имя_Искомой_Процедуры'); 
    // Тут посмотри точно название этой
    // функции в хелпе по LoadLibrary.
    // Имя_Искомой_Процедуры должно
    // быть один в один с именем процедуры
    // в библиотеке с учетом регистров.
    if p=nil then
    begin
     // Процедура не найдена
    end else proc1:=prc1(p);
  end;
end;
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (10 оценок, среднее: 5,00 из 5)
Загрузка...
Добавить комментарий