Classe et Dll.

jamais34 Messages postés 10 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 3 octobre 2007 - 2 mars 2006 à 16:58
bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010 - 3 mars 2006 à 17:39
Je dois modifier un programme réaliser en VC++, c'est à dire faire un
.exe et d'autre part une dll qui doit gérer le port série et un
protocole de communication. Pour celà je veux réutiliser les classes
déjà faite dans le programme de base et donc les insérer dans une dll.
Le pb c'est que je n'ai pas trouvé d'exemple démontrant l'utilisation
de classe dans une dll et surtout l'exportation de classes à partir
d'une dll. Est-il possible de réaliser un truc dans le genre ?

Si oui, quelle est la solution miraculeuse ?

Si non, il y a t-il une autre solution, du genre ocx ou library quelconque ?

Merci d'avance pour vos nombreuses et intéressantes réponses ...



PS : je ne travail pas en .NET .... le tout (.exe et library) dois etre réalisé en VC++.

7 réponses

Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
2 mars 2006 à 17:42
Exporter une fonction dans la dll qui renvoie une instance de classe.
0
luther13 Messages postés 5 Date d'inscription mercredi 23 juin 2004 Statut Membre Dernière intervention 29 juin 2006
2 mars 2006 à 17:58
Oui bien sûr,
il est aussi possible d'exporter des classes.
l'exemple par defaut de visual le fait très bien

Luther13
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
2 mars 2006 à 21:18
Ouais ça dépend. Si tu utilise VC98 ya pas de problème. Mais pour les autres aucune idée. Ce que je sais ces que VC2005 en a pas d'exemple de DLL avec des classes.
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
2 mars 2006 à 21:23
Je parle de VS2005 Express. La version complète, aucune idée.
0

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

Posez votre question
bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
3 mars 2006 à 01:57
Oui, VC++ met ce bout de code au début du fichier d'en-tête.

#ifdef MALIB_EXPORTS
#define LIBMALIB _declspec(dllexport)
#else
#define LIBMALIB _declspec(dllimport)
#endif

Ainsi, on peut exporter les membres d'une classe ou même une classe entière.
La macro s'occupera du reste à condition de ne pas oublier de definir MALIB_EXPORTS avec le préprocesseur !
0
jamais34 Messages postés 10 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 3 octobre 2007
3 mars 2006 à 09:39
Mon soucis est surtout du coté de l'application qui utilise la dll. Sur
que l'exemple de VC++ est mignon, mais du coté dll !.... et de l'autre
coté ? Comment on fait pour récupérer la classe ? Ce que j'ai pigé,
c'est qu'il faut exporter le constructeur via une fonction "normale"
... c'est juste ?
0
bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
3 mars 2006 à 17:39
Il te suffit d'inclure le .h de ta classe le code de l'application ansi tu pourra l'utiliser comme si elle en faisait partie.
0
Rejoignez-nous