Bonjour,
j'ai créé des Dll et je souhaiterais faire appel à certaines d'entre-elles de façon dynamique, en statique je n'ai pas de problème.
Je viens d'avoir un doute sur la gestion dynamique (pas encore fait le test)
Ji j'appel en dynamique cf code ci-dessous, est-ce que je peux libérer la dll par "DECHARGER_DYNAMIQUE_DLL(HandleDLL[Num_Handle])" juste après avoir fait appel à la DLL, sachant que dans cette dll je gère des forms qui sont en cours d'utilisation, à mon sens non, mais vous qu'en pensez-vous ?
Autre question : Est ce que je ne risque pas de trop charger le PC si je charge plusieurs fois la même DLL ou d'autre d'ailleurs
en espèerant que ma question soit claire.
Cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Try if FileExists(DLL_NAME) then begin DYNAMIQUE_LANCEUR_DLL := nil; Num_Handle := My_RECHERCHE_HandleDLL; HandleDLL[Num_Handle].My_Handle := LoadLibrary(pAnsiChar(DLL_NAME)); HandleDLL[Num_Handle].NAME_DLL := DLL_NAME; If HandleDLL[Num_Handle].My_Handle = 0 then Exit else begin DYNAMIQUE_LANCEUR_DLL := GetProcAddress(HandleDLL[Num_Handle].My_Handle, pAnsiChar(PROC_DLL_NAME)); If Assigned(DYNAMIQUE_LANCEUR_DLL) then DYNAMIQUE_LANCEUR_DLL(ParentApplication,ParentDATABASE) :koi: DECHARGER_DYNAMIQUE_DLL(HandleDLL[Num_Handle]); end; end else Showmessage('Impossible de continuer, la DLL : '+DLL_NAME+' est introuvable'); Except Showmessage('Problème lors du chargement de la DLL : '+DLL_NAME); end;
Qays
Partager