DLL : Importer ou Inclure? [Résolu]

Signaler
Messages postés
150
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
25 mai 2012
-
Messages postés
150
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
25 mai 2012
-
bonjour,
dans mon project, j'ai besoin d'une dll, alors je l'ajoute comme referance et l'importe dans le code. mais c'est ennuyant que les fonctions importé dans la dll ne fonctionne pas seulement si la dll et l'exe sont dans le même dossier.
ma question:
est ce que possible d'inclure ma dll dans l'executable? si non, on peut l'ajouter comme resource, est l'ecrire sur disque dur juste avant l'utilisation, mais comment l'appeler a partir d'une adresse specifié?? exemple :
System.IO.Path.GetTempPath + "fichier.dll"

à fin d'executer la fonction desiré, puis on supprime la dll.
merci

10 réponses

Messages postés
150
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
25 mai 2012

Merci, SetDllDirectory etait ce qui'l me fallai ^^
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
plusiseurs solutions:

dans le repertoie de l'executable
dans les chemins décrits dans PATH
dans le repetoire system32

ou spécifier le dossier de ton choix grace à SetDllDirectory


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
150
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
25 mai 2012

dans le repertoie de l'executable : je cherche à ne pas faire ça :p

dans les chemins décrits dans PATH : comment??

dans le repetoire system32 : j'ai deja essayer mais dll introuvable. peut etre il'ya du code à ajouter?? merci
Messages postés
150
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
25 mai 2012

ett...UP!! :p svp j'ai tellement bezoin d'aide...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
je t'ai filé toutes les solutions, je vois pas ce que tu demandes de plus ....

concernant PATH, il s'agit de %PATH% (variable d'environnement)

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
150
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
25 mai 2012

si vous parlez de la class IO.Path, je comprends.
mais je ne sais pas comment appeler une DLL d'un chemin dans une variable string, comme par exemple Environment.SystemDirectory() + "file.dll" ou IO.Path.GetTempPath() + "file.dll".
et j'ai copier ma dll dans system32, mais mon app me lance toujours l'erreur dll introuvable.
merci pour votre aide.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
comment as tu déclaré ton API ?

pas nécessaie d'y déclarer le chemin, windows va trouer la dll comme un grand, grace a son nom, en regardant dans les endroits que je t'ai cité

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
150
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
25 mai 2012

euh voila comment j'ai ajouter ma dll :
proprieté->reference->ajouter(add)->selectionner mon dll.

et dans ma form j l'ai importer (import MyDll.CL)

voila. la seule methode que la dll fonctionne c'est qu'elle soit dans le même dossier que l'exe. ni dans dans system32 ou n'importe ou la dll est trouvable.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
ok, je pensais qu'il s'agissait d'une API...

je sais rien concernant .Net


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
150
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
25 mai 2012

bump je cherche depuis 2 semaines j'ai rien trouvé :s