DblK
Messages postés51Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention 2 octobre 2008
-
22 juin 2008 à 22:27
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 2014
-
21 juil. 2008 à 21:59
Bonjour,
J'ai créé une DLL et son utilisation est possible via un programme EXE.
Le problème est que cette DLL est dans un dossier et l'EXE dans un autre.
Le programme plante quand il essaye d'appeler une fonction contenue dans cette DLL.
Que faut-il faire pour régler le problème (sachant que je veux laisser l'arborescence telle qu'elle est) ?
Faut-il mettre le dossier de la DLL comme "SYSTEM" ? Si oui, comment le fait-on ?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 23 juin 2008 à 01:00
salut,
place la DLL dans c:\Windows\system32
J'en mettrai pas ma main à couper, mai me semble, que si tu fais un regsvr32.exe Nom.dll
et que tu en fais réferzence dans ton projet, ça passera
DblK
Messages postés51Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention 2 octobre 2008 23 juin 2008 à 01:19
Bonsoir,
merci pour vos réponses, il s'agit en effet d'une DLL .NET donc le regsvr32 n'est pas possible :S.
Pour ce qui est de la mettre dans le "c:\windows\system", c'est pas vraiment ce que je souhaites car il faudra que je vérifie qu'aucune DLL porte le même nom que la mienne et je ne souhaite pas modifier le nom de mes DLLs.
Dans le path, oui mais lequel ? le "PATH" normal ? ou alors des "SYSTEMROOT" ?
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 23 juin 2008 à 10:44
si c'est une dll .Net tu ouvres le projet de l'exe ou tu veux l'utiliser,
tu ouvres les propriétés de ton projet , onglet réferences,
tu cliques sur ajouter et tu sélectionne ta dll (onglet Browse)
la seule restriction c'est que le path vers ta dll doit être de moins de 255 carractères
Vous n’avez pas trouvé la réponse que vous recherchez ?
DblK
Messages postés51Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention 2 octobre 2008 23 juin 2008 à 20:19
Bonsoir,
J'ai du mal m'exprimer. Le projet EXE a dans ses références la DLL que j'ai créée.
Lors du développement de l'EXE, la DLL est copiée dans le répertoire "debug" de l'application.
Donc l'EXE et la DLL sont dans le même répertoire.
Ce que je souhaite, lors du déploiement de mon application est d'avoir ma DLL dans un répertoire et l'EXE dans un autre (sans pour autant le mettre dans "system32" comme indiqué ci-dessus).
L'erreur résultant de l'exécution de la fonction contenue dans la DLL à partir de l'EXE (dans un autre dossier) est : "Impossible de charger le fichier ou l'assembly".
Donc je voudrais pouvoir dire à mon EXE où se trouve la DLL.
Je pensais à "regsvr32" ou équivalent "regasm" mais cela ne marche pas (ou alors je m'y prends mal) pour donner la "visibilité" à mon EXE.
Je sais lors du déploiement la position de la DLL et de l'EXE, n'y a-t-il pas un moyen de dire à l'EXE où est la DLL ?