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

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!
