Jak dynamicznie załadować funkcję z biblioteki DLL
|PtaH|
W celu dynamicznego załadowania funkcji z biblioteki DLL należy skorzystać z poniższego kodu:
type
TfncCnx = function (s : string) : THandle;
var
cnx : TfncCnx;
begin
{ load the DLL and get the function's address }
h := LoadLibrary('myDll');
if h = 0 then
begin
ShowMessage ('DLL not available');
end
else
begin
@cnx := GetProcAddress(h, 'myProc');
if @cnx = nil then
begin
{ function not found.. misspelled? }
ShowMessage ('blub');
end
else
begin
{ call the function as usually }
x := cnx('alpha');
end;
{ unload the DLL }
FreeLibrary(h);
end;
end;
Źródło: http://www.delphifaq.com/fq/q2035.shtml
Zobacz też:
Ten tekst to jest jak odkrycie pętli repeat - until :)
Przeciez funkcja to procedura z ostatnim parametrem - referencja do wyniku. Tylko po prostu to sie inaczej zapisuje, po wiecej info odsylam do helpa.
Owszem ale tam jest pokazana procedura a ja nie zamierzam z funkcji tworzyc procedur i wartosci przekazuwac przez referencje. Ten sposób mi się spodobał! :)
hm.... http://4programmers.net/article.php?id=30
A nuż ktuś nie bedzie musiał szukać, ja wole 4p od innych! I chciałbym aby tu najlepiej było wszystko!
Skoro znalazłeś to w tak znanym i dużym FAQ'u to po co zamieściłeś to tutaj?