cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 2021
-
10 oct. 2002 à 14:09
sferrier
Messages postés31Date d'inscriptionlundi 8 avril 2002StatutMembreDernière intervention11 octobre 2002
-
11 oct. 2002 à 09:03
Je veux utiliser une fonction dans ma DLL. Si avec cette fonction :
Set MADLL = CreateObject("MADLL.MADLL")
MADLL.Fonction ("Paramètre")
cela fonctionne, mais cela necessite un enregistrement un enregistrement préalable de la DLL et comme je ne sais pas enregistrer la DLL au demarrage de mon prog et la dé-enregistrer à sa fermeture, cette methode ne me convient pas.
Une autre methode, plus propre et celle utilisée dans le cas d'appel de fonction Windows qui ne necessite pas d'enregistrement mais ne fonctionne pas. Le code utilisé est :
Public Declare Function Fonction Lib "C:\MADLL.DLL" (ByVal Paramètre As String) As String
sferrier
Messages postés31Date d'inscriptionlundi 8 avril 2002StatutMembreDernière intervention11 octobre 2002 11 oct. 2002 à 09:03
Bonjour,
c'est normal puisque les objets COM (ta dll activeX créée par VB en est un) doivent être registrés dans la base de registre (regsvr32 chemin\nomDLL.dll)
si tu veux registrer ta dll avant et la déregistrer après son utilisation (je ne vois pas trop l'interêt !?) , tu peux toujours faire un shell du regsvr32 en mode silent : shell regsvr32 /s chemin\nomdll.dll pour la registrer
et shell regsvr32 /u/s chemin\nomdll.dll pour la déregistrer
Pour créer une DLL non registrable il te faudra la créer en C.