Biblioteka

0

Pomocy!
wczesniej ospisalem moj blad "aplikacja wykorzystujaca wtycki"
a teraz moze jeasniej i szczegolowo:

Jak zaladwoac prawidlowo bibloioteke z innej sciezki a pozniej ja zwolnic bo mi to jakos nie wychodzi wyskakuje error acces violation
tzn

var
DL : THandle;
Pro : procedure;
try
sciezka:=C:\Windows\shell32.dll
DL:=LoadLibrary(sciezka);
finally
FreeLibrary(dl);
end;
end;

Plis
plis pomocy !!!

0

Masz problema w tym ze chciales zaladowac biblioteke dynamicznie, jednak zle to zrobiles. Powinno to wygladac (mam nadzieje:-D) tak:
{najpierw w type dajesz procedure, ktora posiada takie same argumenty jak procka w bibliotece:}
procedure tform1.button1click(sender: tobject);
type
tprocka=procedure(argument: integer);
var
uchwyt: thandle;
procka: tprocka;
begin
uchwyt:=loadlibrary('moja_dll.dll');
@procka:=getprocaddress(uchwyt, 'nazwa_procki_w_bibliotece');
//teraz robisz co chcesz
freelibrary(uchwyt);
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1