API : DllName, Variable? [Résolu]

Signaler
Messages postés
150
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
25 mai 2012
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour,

je veux utiliser une fonction apartir d'un DLL, mais le chemin n'est pas constant. le programme va chercher d'abord la dll, puis appelle la fonction desiré. mais DllName demande une constante. comment faire? merci.

3 réponses

Messages postés
150
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
25 mai 2012

je m'explique,
c'est ma propre dll que j'vais appeler.

<DllImport("MaLib.dll")> Private Function MaFonction(ByVal Parametre1 As Object) As Object
End Function

supposant que MaLib.dll est dans "c:\MonChemin\MaLib.dll" alors mon program ne va pas la trouver. il faut la declarer comme ça :

<DllImport("c:\MonChemin\MaLib.dll")> Private Function MaFonction(ByVal Parametre1 As Object) As Object
End Function

mais mon program va chercher d'abord la dll. alors le chemin doit etre une variable.

Merci Pour votre reponse, le probleme est resolu graçe à :

<DllImport("kernel32.dll")> Private Function SetDllDirectory(ByVal pathName As String) As Boolean
End Function

comme ça je cherche la dll, SetDllDirectory et mon programme fonctionne comme il faut.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut
"mais le chemin n'est pas constant" : le chemin de la DLL ?
Je ne comprends pas dans situation tu es. En programmation ? En Run de ton programme ?
Et pourquoi le chemin change t-il, tu as une DLL vivante ?
"mais DllName demande une constante" : Où vois-tu ce paramètre ? Dans quel objet/interface ?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Inutile tout ceci, mettre la dll dans le dossier exe et sera trouvée à tout coup si on ne met aucun chemin.

ciao...
BruNews, MVP VC++