Definir l'emplacement de mes DLL

Résolu
Malebogia_DCG Messages postés 10 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 30 septembre 2008 - 22 févr. 2007 à 10:39
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 22 févr. 2007 à 16:19
Salut à tous,

J'ai une DLL qui fait appel à une autre DLL le tout developpé en VB.Net. Tout fonctionne correctement.

Je voudrais cependant mettre ma DLL qui contient mes fonctions customs dans un autre répertoire (éventuellement connu de mon application par une variable d'environnement).

Pour le moment je suis obligé de placer mes deux DLL dans le meme folder pour que ça fonctionne.

Une idée ?

Merci

Male

4 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 févr. 2007 à 15:05
Interresse-toi alors à la fonction LoadLibrary de la libraire kernel32 de l'Api de Windows
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
22 févr. 2007 à 16:19
Soit ta dll est dans un répertoire bien défini et fixe alors du met son chemin en dur dans le code (attention aux installations exotiques, style disque système en D au lieu de C, ...).

Sinon tu peux essayer de rajouter le chemin d'accès à la dll dans la variable d'environnement %Path%. Dans ce cas, aucun chemin pour la dll, c'est windows qui va aller la chercher. Par contre il s'arretera à la première trouver.

L'ordre de recherche est
- repertoire de l'appli
- repertoire %windows%
- repertoire %System%
- repertoires indiqués dans la variable %Path% dans l'ordre d'apparition.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
22 févr. 2007 à 10:52
Salut,

Mon avis personnel, le meiux c'est comme tu le dis, c'est le mettre des Dll, dans le repertoire de ton application, ce qui donne à l'utilisteur de se dire : tout ce qui a dans ce répertoire je ne touche pas !!!
Si tu mets tes Dll dans un autre répertoire du Hdd, il arrive bien souvent que des utilisateurs fasse du ménage sans savoir ce qu'ils effacent...
C'est mon avis, et puis autant bien "ranger" son appli..

A+
Exploreur
0
Malebogia_DCG Messages postés 10 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 30 septembre 2008
22 févr. 2007 à 14:58
Merci pour le conseil mais ça ne répond pas à ma question

La DLL qui contient mes fonctions diverses est utilisées par plusieurs DLL différentes. Pour des besoins de clarté et de gestion ces différentes DLL (API) sont elles memes rangées dans différents répertoires.

L'utilisateur en question sait déjà qu'il a un répertoire dans lequel tout est rangé et il ne doit rien toucher de base. Après il fait ce qu'il veut mais il en prend la responsabilité et c'est pas trop un soucis.

Le probleme donc est que je dois dupliquer X fois la DLL commune pour qu'elles fonctionnent toutes et ça ne me semble pas judicieux de ma part.

Ces API font deja appelle à des DLL qui se trouvent dans le répertoire d'install du soft pour lequel elles sont développer, donc ça doit etre faisable. Mais je ne sais pas comment déclarer la localisation de mes lib à moi.

That is ze question

A+

Male
0
Rejoignez-nous