cs_andrebernard
Messages postés404Date d'inscriptionlundi 9 juin 2003StatutMembreDernière intervention 4 septembre 2013
-
15 oct. 2008 à 09:38
cs_andrebernard
Messages postés404Date d'inscriptionlundi 9 juin 2003StatutMembreDernière intervention 4 septembre 2013
-
15 oct. 2008 à 22:33
Bonjour a tous
J'utilise LoadLibrary pour obtenir le handle d'un DLL chargée afin de verifier son bon chargement.
Mais une question me taraude .....Est ce pareil, au niveau ressoureces et rapidité de faire appel a une fonction style :
Declare
FonctionDansMaDll .......
Public Function machin
LoadLibray
x = FonctionDansMaDll (......)
FreeLibrary
EndFunction
Ou bien seulement de faire appel avec le declare ???
DeclareFonctionDansMaDll .......
x = FonctionDansMaDll (......)
Quels sont les inconvenients et avantages de ces deux methodes, hors mis l'histoire du handle de la DLL
Merci de vos conseils, car j'utilise beaucoup de ces fonctions et notament dans des boucles, et je ne voudrais pas mettre a genoux Windows !!!
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 15 oct. 2008 à 10:05
L'emploi de LoadLibrary() permet de faire tourner un prog sur un OS sans savoir au préalable si la fonction désirée y est présente. En cas de retour NULL, on adapte le comportement.
Pour ce qui est de la rapidité, le linkage statique est un peu plus rapide car la résolution des adresses est effectué en 1 seule faois par le loader system.
Dans tous les cas, en VB6 comme quasi tout autre interprété, l'adresse de la fonction sera toujours trouvée par LoadLibrary() au moment de sa première utilisation, que tu le codes ou fait par la VM sera idem.
cs_andrebernard
Messages postés404Date d'inscriptionlundi 9 juin 2003StatutMembreDernière intervention 4 septembre 20131 15 oct. 2008 à 22:33
Merci de ta reponse BRUNEWS
Je croyais bettement que loadlibrary chargeait toute la library en memoire et que le declare allait directement a la fonction ....
Quel benet je fais.
Donc pas de grande difference au niveau memoire !!!
Encore merci de cette precision.