W jaki sposób załadować dynamicznie bibliotekę DLL?

PL
Data dodania: 2011-09-13, Autor: Karol, Dodał: Karol, Wyświetleń: 194

Czasami zachodzi potrzeba wywołania jakiejśc funkcji z biblioteki DLL ładowanej dynamicznie. Aby tego dokonać możemy posłużyć się przykładowym kodem:

type
  TFunkcja = function (s : string) : THandle;

var
  Fun : TFunkcja;
begin
  { Wczytanie biblioteki DLL }
  h := LoadLibrary('biblioteka.dll');
  if h = 0 then
  begin
    ShowMessage ('Biblioteka nie została załadowana!');
  end
  else
  begin
    @Fun := GetProcAddress(h, 'MojaFunkcja');
    if @Fun = nil then 
    begin
      { Nie znaleziono funkcji w bibliotece }
      ShowMessage ('Brak funkcji w bibliotece.');
    end
    else
    begin
      { Wywołanie funkcji }
      x := Fun('przykładowy napis');
    end;
    { usunięcie biblioteki z pamięci }
    FreeLibrary(h);
  end;
end;

 


Aby dodawać komentarze musisz być zalogowany!


Kontakt

Jeśli chcesz się z nami skontaktować napisz na adres: info(at)binboy.org lub odwiedź nasz profil na Facebooku!

O Nas

Serwis binboy.org to kopalnia wiedzy dla wszystkich z branży IT, w szczególności dla programistów i webmasterów. To duży zbiór kursów programowania, tutoriali, darmowych ebooków, setki kodów źródłowych itp.

Bądź w kontakcie

Panel użytkownika

Zaloguj się do panelu użytkownika.
Nie masz konta? Zarejestruj się!
Zapomniałeś hasła?