Utilisation de DLL et de différents dossiers

DblK Messages postés 51 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 2 octobre 2008 - 22 juin 2008 à 22:27
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 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 ?


Merci d'avance

7 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
22 juin 2008 à 23:24
si ta dll est activeX ou .Net  il faut l'enregistrer sur le systeme
sinon il faut qu'elle soit dans le path
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
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

@++

le mystérieux chevalier,"Provençal, le gaulois"
0
DblK Messages postés 51 Date d'inscription vendredi 30 janvier 2004 Statut Membre Derniè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" ?

Merci d'avance
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
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
0

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

Posez votre question
DblK Messages postés 51 Date d'inscription vendredi 30 janvier 2004 Statut Membre Derniè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 ?

En espèrant avoir été clair.
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
21 juil. 2008 à 21:49
salut,

dans le fichier de configuration de l'exe, tu peux utiliser la directive ...

ShareVB
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
21 juil. 2008 à 21:59
pour ne pas la mettre dans System32 ,
mets la dans My

.Computer.FileSystem.SpecialDirectories.AllUsersApplicationData

Au contraire des chasseurs qui ne sont pas des lapins, les pollueurs, eux, sont des ordures

/B>
0
Rejoignez-nous