Appeler une DLL qui se trouve dans le repertoire de mon projet
cs_globule
Messages postés327Date d'inscriptionmardi 8 octobre 2002StatutMembreDernière intervention 6 octobre 2010
-
12 avril 2007 à 09:08
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
12 avril 2007 à 23:28
Bonjour,
Je cherche a appeler une DLL qui se trouve dans le repertoire de mon projet (qui peut etre variable) et non dans windows
Hors lors de la declaration de l'appel à une DLL, on ne peut pas préciser app.path car VB6 repond qu'il attend une chaine ou une constante
Public Declare Sub MaFunction Lib "MaDLL.dll" ()
fonctionne
Public Declare Sub MaFunction Lib app.path+"MaDLL.dll" ()
ne fonctionne pas
Comment faire SVP ?
Merci
A voir également:
Le code contenu dans ce projet doit etre mis a jour
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 12 avril 2007 à 09:17
Si tu ne precise aucun chemin, normalement la dll est tout d'abords cherchée dans le répertoire de l'executable, ensuite dans le répertoire Windows puis dans System et enfin dans les répertoires désignés par la variable d'environnement PATH.
La recherche s'arrete au premier fichier portant le bon nom.
Donc si tu met ta dll avec l'exe, et que tu ne spécifie aucun chemin dans les déclarations, ça doit marcher.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 12 avril 2007 à 09:20
Ajouter la dll en référence n'est valable que pour les dll COM (activeX). Ces dll ne s'utilisent pas avec l'instruction Declare.
Pour les dll API (avec instrcutions Declare donc), les rajouter en référence ne sert à rien. Au mieux cela n'apporte rien, au pire VB ne voudra pas les mettres en référence.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_globule
Messages postés327Date d'inscriptionmardi 8 octobre 2002StatutMembreDernière intervention 6 octobre 2010 12 avril 2007 à 15:00
Si je vais dans le repertoire ou se trouve mon projet à partir de l'exploreur et que je clique sur le projet pour ouvrir VB6, ca fonctionne.
Si je lance VB6 à partir du menu démarrer, puis que je charge mon projet ca ne fonctionne plus (normal car le dernier repertoire en mémoire est celui de VB6 et pas celui de mon app)
Donc il faut que je trouve un moyen de dire que ma DLL se trouve dans app.path
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 12 avril 2007 à 23:28
Une chose que tu pourrais essayer est de changer le chemin du raccourci de VB
Quand tu cliques droit sur le raccourci, tu vas dans Propriétés et tu changes le chemin dans "Démarrer dans".
Personnellement, tous mes projets VB sont dans un même répertoire principal et c'est ce chemin que j'y mets. Donc quand je clique "Ouvrir", VB va directement dans ce chemin, plutôt que XYZ:\Program Files\Microsoft Visual Studio\...
Peut-être que ça pourrait t'aider avec ton problème... (?)