Тема: DLL
Показать сообщение отдельно
  #3  
Старый 16.04.2007, 07:26
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Нормальный вопрос

Значит известно имя библиотеки (String) имя функции (String) и параметры функции: имя, количество (PChar,Integer).
Делается примерно так:
Код:
var
  hLib:THandle;
  testproc:procedure(aBuffer:PChar;aLength:Integer);stdcall;  //описание процедуры
begin
  hLib:=LoadLibrary('lib');  //тут имя библиотеки
  if hLib=0 then
    begin
      MessageDlg('Load library error!',mtError,[mbOk],0);
      Exit;
    end;
  @testproc:=GetProcAddress(hLib,'test');  //Тут имя процедуры
  if @testproc=nil then
     MessageDlg('Procedure not found',mtError,[mbOk],0)
  else  
     testproc(PChar(Edit1.Text),Length(Edit1.Text));  //Тут ее вызов
  FreeLibrary(hLib);
Ответить с цитированием