chemin d'acces a une dll

chemin d'acces a une dll - VB/VBA/VBS - Programmation

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 !  [:mlc]
 
 
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 ^_^
Reply

Marsh Posté le 11-02-2003 à 12:12:31   

Reply

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 :lol: avec DLL Krosoft ?

Reply

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.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

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


---------------
Ptit con de goret je t'emmerde ^_^
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed