cs_xavier77
Messages postés95Date d'inscriptionjeudi 27 décembre 2001StatutMembreDernière intervention17 avril 2013
-
24 oct. 2005 à 15:47
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
24 oct. 2005 à 17:16
Bonjour à tous,
J'ai fait un prog en VB6 qui contient un exe et plusieurs Dll. Jusqu'a le prog enregistrait les Dll automatiquement en utilisant Regsrv32. Depuis peu, on m'a parlé de l'API LoadLibrary (kernel32) qui permettrait de charger une Dll sans avoir a l'enregistrer préalablement. Mais je trouve très d'article ou d'exemple qui utilisent l'API LoadLibrary... Alors est ce que vous la connaissez?? Et surtout quelles sont les différences (avantages et inconvénients) entre cette API et Regsvr32 ??
Merci à tous et bon prog!!
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 24 oct. 2005 à 15:58
Si tes DLLs sont des ActiveX VB faudra dans tous les cas les enregistre, LoadLibrary c'est pour charger une DLL en mémoire et trouver des pointeurs de fonction avec GetProcAddress.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013131 24 oct. 2005 à 16:25
J'utilisais LoadLibrary il y a quelques temps pour enregistrer les dll
(ca me permettait de ne pas passer par RegSvr32), mais finalement, vu
que RegSvr32 marche très bien en mode silencieux, je n'utilise plus que
lui, mais si ca t"interesse, voici le code pour enregistrer une dll
sans RegSvr32 :
cs_xavier77
Messages postés95Date d'inscriptionjeudi 27 décembre 2001StatutMembreDernière intervention17 avril 2013 24 oct. 2005 à 17:03
en fait, mon véritable problème est que mon prog est utilisé soit en reseau, soit en local. Les utlisateurs ont 2 raccourcis sur leur bureau pointant sur les 2 exe. Avec le regsvr32, je recontre pas mal de probleme des qu'il debranche le cable reseau de leur PC portable pour utliser le prog en local car la Dll a été enregistré avec le regsvr32 et un chemin sur le serveur et si je refait un regsvr32 avec mes dll en locale , ca créer quelques conflits.
Est ce que l'API LoadLibrary resout ce genre de problème?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013131 24 oct. 2005 à 17:16
Ton problème ne viens sûrement pas du RegSvr32, mais plutôt de la
technologie ActiveX je pense : pour fonctionner, une dll ActiveX doit
être enregistrée. Si deux versions différentes sont utilisées, il peut
y avoir des conflits en effet, surtout si les dll ne sont pas compilées
en mode compatibilité binaire car ton projet risque de n'avoir une
référence qu'à la version la plus récente, et du coup, il ne trouve
plus l'ancienne (logique d'ailleurs !).
J'ai déjà eu ce genre de problème, et la solution est simple :
n'utiliser les ActiveX qu'en local, ou alors, bien faire attention que
les versions en local soit les mêmes que celles sur le réseau...
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/