Chemin d'accès DLL

Résolu
Vinz92270 Messages postés 13 Date d'inscription jeudi 10 juillet 2008 Statut Membre Dernière intervention 10 août 2009 - 27 août 2008 à 14:18
Vinz92270 Messages postés 13 Date d'inscription jeudi 10 juillet 2008 Statut Membre Dernière intervention 10 août 2009 - 27 août 2008 à 17:28
Bonjour,

Je recherche un moyen afin de pouvoir indiquer le chemin d'accès de ma dll en fonction du répertoire courant.

Je m'explique.
Actuellement je déclare le chemin d'accès en dur (la racine de D:). Et je voudrais, par l'intermédiaire d'une variable récupérer le dossier courant, et lui indiquer qu'il doit chercher la dll dans ce dossier.
Je me suis renseigné un peu et j'ai trouvé quelques indications sur la méthode SetDllDirectory(), mais je ne m'en sors pas.

Si vous avez une idée.

Merci d'avance

12 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
27 août 2008 à 17:15
mets ta dll dans un de ces répertoires

Bonjour chez vous !
3
Vinz92270 Messages postés 13 Date d'inscription jeudi 10 juillet 2008 Statut Membre Dernière intervention 10 août 2009
27 août 2008 à 17:28
Ca marche!

Merci!
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 août 2008 à 14:24
Parles-tu réellement du dossier courant ou plutôt du dossier d'installation de l'appli, celui ou il y a l'exécutable. Ce sont 2 choses totalement différentes.

Pour le dossier de l'appli, en VB6, c'est App.Path

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Vinz92270 Messages postés 13 Date d'inscription jeudi 10 juillet 2008 Statut Membre Dernière intervention 10 août 2009
27 août 2008 à 14:30
En fait je travaille sous Excel et je code en VBA.
Dans ce code, je fais appel à une DLL C++ de la facon suivante:

Declare Function dllPlot Lib "D:/Ma.dll" _
           (ByRef Data As Double, ByVal taille As Long, _
            ByVal Min As Double, ByVal Max As Double, _
            ByVal NbPts As Long, ByRef graphX As Double, _
            ByRef graphY As Double) As Long

J'aimerai ne pas utiliser le chemin "D:/ModuleBacktesting.dll", mais plutot lui rentrer:

   Lib Mon_chemin_d'accès + "Ma.dll"

Avec Mon_chemin_d'accès le chemin d'accès de mon fichier Excel.

Tu penses que c'est faisable??

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 août 2008 à 14:33
Dans ce cas non, ce n'est pas faisable sauf à mettre la dll dans System32 et ne pas spécifier de chemin
(et encore, pas certain que ça marche avec des dlls autres que celles de l'OS)

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Vinz92270 Messages postés 13 Date d'inscription jeudi 10 juillet 2008 Statut Membre Dernière intervention 10 août 2009
27 août 2008 à 14:36
Ok.

Merci quand même pour la réponse!
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
27 août 2008 à 15:05
normalement

le systeme cherche ses dll dans system32 , le path puis dans le repertoire en cours

Bonjour chez vous !
0
Vinz92270 Messages postés 13 Date d'inscription jeudi 10 juillet 2008 Statut Membre Dernière intervention 10 août 2009
27 août 2008 à 15:09
Ca je suis d'accord.
Mais est-ce que tu connais la syntaxe pour accedér à une dll? (autre qu'avec le chemin d'accès en dur )
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
27 août 2008 à 15:13
Declare





Function

dllPlot


Lib





"Ma.dll"

(


ByRef

Data


As





Double

,


ByVal

taille


As





Long

, _



ByVal

Min


As





Double

,


ByVal

Max


As





Double

, _



ByVal

NbPts


As





Long

,


ByRef

graphX


As





Double

,


ByRef

graphY


As





Double

)


As





Long


pas de path dans le declare MAIS
plutot mettre ta dll dans le %PATH%

Bonjour chez vous !
0
Vinz92270 Messages postés 13 Date d'inscription jeudi 10 juillet 2008 Statut Membre Dernière intervention 10 août 2009
27 août 2008 à 16:18
Qu'est ce que tu entends par %PATH%??
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
27 août 2008 à 16:37
la variable d'environement  PATH

ouvres une console avec la commande cmd.exe
ensuite tapes path et tu verras ce que c'est

Bonjour chez vous !
0
Vinz92270 Messages postés 13 Date d'inscription jeudi 10 juillet 2008 Statut Membre Dernière intervention 10 août 2009
27 août 2008 à 17:10
Je viens de le faire mais ca ne m'avance pas!!!
Qu'est ce que c'est?
Et en quoi cela peut m'aider?

Merci
0
Rejoignez-nous