chemin d'acces a une dll - VB/VBA/VBS - Programmation
Marsh Posté le 11-02-2003 à 13:25:52
Il a ss dte deux comportements différents.
Si on crée un EXE, celui-ci (du moins Windows soi-même), à l'exécution, cherche dans le répertoire courant, dans Windows, Win/SYS et path, puis rouspète si trouve pas.
Quand on lance VB, il fait peut-être pareil, sauf qu'il n'y pas de répertoire où est l'EXE vu qu'il n'y en a pas.
J'ai tj mis mes DLL persos dans C:\, pr me simplifier la vie , puis avec l'EXE quand fini.
Je ne pense pas qu'on puisse ajouter les DLLs au projet VB, comme on fait avec les .LIB en C. Peut-être qu'il ne chercherait plus.
Kernel.dll dangereux ?? Pourquoi pas NOYAU.DLL. Risque de confuse avec DLL Krosoft ?
Marsh Posté le 11-02-2003 à 14:01:07
Quand on fait l'exécution depuis VB, je pense que c'est le répertoire de VB lui-même qui est pris en considération. Donc normal qu'il trouve pas tes DLLs à ce moment là si tu les mets dans ton répertoire applicatif.
Marsh Posté le 11-02-2003 à 14:11:25
Ok merci pour les explications, mais z'auraient dut prevoir qu'on aurait ptete pas envie de chaque fois devoir creer l'exe ou, mettre les fichier dans c:\ ou system32
sinon pour le nom de la dll heu.. ouais c pas moi qui l'ai choisis ^^, c vrai que ca prete a confusion avec kernel32..
a+ merci
Marsh Posté le 11-02-2003 à 12:12:31
Bonjour, voila je travaille en paralelle avec qqun qui lui se charge de creer des fonctions et de les mettre dans une dll nommée kernel.dll.
je met la DLL dans le dossier de mon projet vb mais pour y acceder je ne peut pas mettre simplement le nom de la dll sinon il ne la trouve pas je dois mettre le chemin complet comme ceci :
Public Declare Sub InitKernel Lib "E:\Projects\DcHubPro\Kernel.dll" (ByVal handle As Long)
Public Declare Sub TermKernel Lib "E:\Projects\DcHubPro\Kernel.dll" ()
Public Declare Sub Test Lib "E:\Projects\DcHubPro\Kernel.dll" ()
Public Declare Function StartServer Lib "E:\Projects\DcHubPro\Kernel.dll" (ByVal ListenPort As Integer) As Long
Public Declare Function StopServer Lib "E:\Projects\DcHubPro\Kernel.dll" () As Long
Ce qui est genant, et on ne peut pas mettre App.Path, sinon il crie ca doit etre purement du text le nom de la dll, je sais pas comment faire pour remedier a ca
Merci bcp
edit : ptite precision je veux pas devoir le mettre dans le dossier system32 de windows merci
edit 2 :
Si vous ne spécifiez pas de chemin d'accès pour libname, Visual Basic recherchera le fichier dans l'ordre suivant :
Dossier contenant le fichier.exe
Dossier courant
Dossier système de Windows (souvent mais pas nécessairement \Windows\System)
Dossier de Windows (pas nécessairement \Windows)
Variable d'environnement Path
voila ce qu'ils disent dans la doc msdn , se foutent de nous non ? Dossier contenant le fichier.exe -> c'est la qu'il est !
edit3: BON en fait si je cree l'exe ca marche, mais si je click juste sur executer dans VB il trouve pas, bon ca resoud mon prob mais avouez que ce n'est pas pratique pq l'un et pas l'autre?
a+
Message édité par _maximus_ le 11-02-2003 à 12:51:08
---------------
Ptit con de goret je t'emmerde ^_^