Salut
Je n'arrive pas a trouver de réponse satisfaisante sur internet. Peut on utiliser une fonction d'une DLL après avoir libéré celle ci ?
Je m'explique : J'ai cette variable globale a mon unité :
et voici la partie initialization de cette unité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var DwmExtendFrameIntoClientAreaProc: function(destWnd: HWND; const pMarInset: PMargins): HRESULT; stdcall;
Peut on utiliser dans cette unité la fonction DwmExtendFrameIntoClientAreaProc (si elle est différente de nil bien sur) ? En sachant que la DLL est déja libérée dans la partie initialization ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var DllDwmApiHandle : THandle; initialization DllDwmApiHandle := LoadLibrary('dwmapi.dll'); if DllDwmApiHandle <> 0 then begin @DwmExtendFrameIntoClientAreaProc := GetProcAddress(DllDwmApiHandle, 'DwmExtendFrameIntoClientArea'); end; FreeLibrary(DllDwmApiHandle);
J'ai testé, et ca marche. Mais je ne sais pas si c'est un coup de chance ... Sur internet, j'ai trouvé un peu de tout, donc je ne sais pas a quoi me fier ...
Un grand merci d'avance !
Mick605
Partager