Bonjour,
je voudrais savoir comment insérer une dll dans un projet VC++ 6 ?
Merci
PS : J'ai regardé la FAQ mais je ne trouve pas mon bonheur...
Version imprimable
Bonjour,
je voudrais savoir comment insérer une dll dans un projet VC++ 6 ?
Merci
PS : J'ai regardé la FAQ mais je ne trouve pas mon bonheur...
Tu veux dire, utiliser une DLL ? Il faut inclure ses en-têtes là où tu en as besoin, et lier avec le .lib qui l'accompagne.
Merci.
Si je ne dispose que de la dll, je fais comment ?
Tu peux charger les fonctions dynamiquement si tu connais leur nom et leur prototype, mais ce n'est pas une utilisation "classique" d'une DLL, c'est surtout pour tout ce qui nécessite un chargement dynamique, par exemple un système de plugins.
Sinon, si tu as un .def avec ta dll, tu peux régénérer le .lib via un outil livré avec ton compilo.
C'est quelle DLL ? Tu l'as récupérée comment ?
C'est une dll que l'on m'a fournit. Elle permet de récupérer trois valeurs x, y et z issues d'une sorte de joystick.
Dans ce cas, si tu n'as vraiment que le fichier DLL, il faut utiliser le chargement explicite. Tu peux faire une recherche sur LoadLibrary, GetProcAddress et FreeLibrary. C'est tout ce dont tu auras besoin, à supposer que tu connaisses le prototype des fonctions que tu vas utiliser.
Ok j'avais déjà vu ces 3 fonctions. Merci
Tu ne connaitrais pas un programme permettant de voir quelles fonctions sont comprises dans une dll ?
J'ai vu ca
1) Charger la dll en mémoire, à l'aide de LoadLibrary()
2) Appeler la fonction souhaitéeCode:
1
2
3
4
5
6 HMODULE hModule = LoadLibrary("le path de la dll"); if ( hModule == NULL ) { // la dll n'a pas pu être chargée, gérer l'erreur }
Quelles sont les include a mettre pour que cela fonctionne.Code:
1
2
3
4
5
6
7
8
9 // on défini le type de la fonction a appeler pour simplifier le code: typedef int (WINAPI *UnTypeDeFonction) (float f); // on récupère un pointeur sur cette fonction UnTypeDeFonction lafonction = (UnTypeDeFonction)GetProcAddress(hm, "unefonction"); //on appelle la fonction: int unint = lafonction(3.45);
Merci
:alerte: ATTENTION :alerte:
Tu es sûr que c'est bien une DLL native, pour commencer ?
Ce n'est pas du .Net ?
windows.hCitation:
Quelles sont les include a mettre pour que cela fonctionne.
Si tu utilises VC++ il y a comme outil un petit exe nommé Depends.exe qui permet d'ouvrir une DLL et d'obtenir ses dépendances avec d'autres DLL et la liste des fonctions implémentées (mais je crois qu'on peut les cacher aussi...)Citation:
Envoyé par alliance