Array
(
)

FreeLibrary

Ipc$
   - 30 set 2004

Pessoal:
#Código


var h:HINST; i:Integer;
begin
h := LoadLibrary(´x.dll´);
i := h;
FreeLibrary(i);
end;

Se h for > High(Integer), o FreeLibrary liberará a dll ?


Beppe
   - 30 set 2004

Se não houver mais handles ativos da dll(isto é, todos que chamaram LoadLibrary nela já chamaram FreeLibrary), sim.

Mas é raro que lhe seja retornado Handle < 0(H < 0, se H > High(Integer))


Ipc$
   - 30 set 2004

Obrigado pela resposta Beppe.
Minha dúvida era a seguinte:
Tenho que passar o HInst da dll por SendMessage p/ a dll mãe para que ela possa liberá-la. Como o HInst é uma DWord e o wParam é um Integer, fiquei em dúvida se era possível dar o FreeLibrary pelo wParam quando este fosse negativo.