[VC++ 6.0] DLL VERS VC++

vanpet Messages postés 149 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 5 février 2006 - 16 juil. 2002 à 12:56
nepi Messages postés 85 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 30 décembre 2007 - 1 août 2004 à 21:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/9820-vc-6-0-dll-vers-vc

nepi Messages postés 85 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 30 décembre 2007
1 août 2004 à 21:21
10/10 Bien merite : ca fait deja un moment que je cherche a creer une dll et ce programme me sauve la vie :) Merci.
++

Nepi
gabuzomeuh Messages postés 53 Date d'inscription jeudi 31 juillet 2003 Statut Membre Dernière intervention 28 mars 2007
2 mai 2004 à 20:10
Pour kaid:

// On récupére l'adresse de cette fonction
pfn_COOL COOL=(pfn_COOL)GetProcAddress(hDll, "COOL");

erreur de compilation:

Error: test.cpp(22,25):Undefined symbol 'pfn_COOL'

???
gabuzomeuh Messages postés 53 Date d'inscription jeudi 31 juillet 2003 Statut Membre Dernière intervention 28 mars 2007
2 mai 2004 à 19:53
bah moi j'ai borland c++ 5.02 et j'arrive pas a creer une dll sous un projet .IDE

qqn peut m'aider ?

merci
lixahk Messages postés 1 Date d'inscription lundi 5 mai 2003 Statut Membre Dernière intervention 12 février 2004
12 févr. 2004 à 17:44
salut
voila je suis débutent sur VC++
et je veut crée un dll
qcq peut m'indiquée les étape à suivre pour teste cette exemple
merci
mone et pock Messages postés 14 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 3 janvier 2004
12 janv. 2004 à 09:26
bon, je continue le monologue, c'est bon, tout marche, j'ai libéré la dll trop vite!:)
Bonne continuation!
mone et pock Messages postés 14 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 3 janvier 2004
12 janv. 2004 à 09:10
1/ court s'écrit avec un 't'...j'ai dérapé on dirait...
sinon, DarkBoss, j'ai un prb avec le code que tu fournis, ça passe à la compilation et au linkage, mais ça plante lors de l'execution...dommage, ça me plaisais bien! je vais essayer des sources qui ressemblent sur le site et je laisserai un message si j'ai trouvé le prb!
mone et pock Messages postés 14 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 3 janvier 2004
12 janv. 2004 à 09:00
Nickel,
(Rq : pour les tests ne pas oublier de faire un projet exe en mode console, ça évite les prbs de linkage)

c'est cours mais util!
DarkBoss Messages postés 154 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 12 décembre 2008
17 déc. 2003 à 15:29
moi j' ai ce prob : c:program filesmicrosoft visual studioessaiessai.cpp(12) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.
cs_alpha Messages postés 19 Date d'inscription samedi 17 novembre 2001 Statut Membre Dernière intervention 13 juillet 2012
28 juil. 2002 à 12:39
Jai oublier de mettre cette phrase magik #pragma comment(lib, "COOL.lib") !avant le void main(void)...

#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "COOL.lib")
//DECLARATION DE LA VARIABLE DU DLL//
extern "C" __declspec(dllimport) COOL();

void main(void)
{
printf("CA MARCHE !!!
");
COOL(); //IMPORTE LE "COOL()" DE LA DLL//
}
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
19 juil. 2002 à 11:33
Oui, tu peux charger dynamiquement une DLL avec LoadLibrary().
Petit exemple:

// Chargement de la DLL
HMODULE hDll=LoadLibrary("Toto.dll");

// C'est là que cela ce complique.
// On récupére les fonctions une par une et ca ne fonctionne pas pour les classes

// On définit un pointeur de fonction par exemple sur la fonction COOL().
typedef void(* pFn_COOL)(void);

// On récupére l'adresse de cette fonction
pfn_COOL COOL=(pfn_COOL)GetProcAddress(hDll, "COOL");

// Utilisation de la fonction
COOL();

// Libération de la DLL
FreeLibrary(hDll);

Sous réverse d'erreur bien entendu !
vanpet Messages postés 149 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 5 février 2006
16 juil. 2002 à 12:56
comment faire pour importer une DLL dont on ne connait pas le nom a l'avance ? (exemple : pour des plug-ins ?) par exemple, on pourrait choisir la DLL dans une listbox ou un truc du genre, mais seulement après l'execution... est-ce possible ? (normalement oui, vu que des tas de programmes professionnels - photoshop, steinberg cubase, etc... - le font sans probleme !!!
Rejoignez-nous