MoDDiB
Messages postés546Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention 4 mai 20071 30 déc. 2003 à 14:50
Dans ta dll (Pb) :
extern "C" __declspec(dllexport) Cb importClasse(void);
Puis :
Cb importClasse(void)
{
//ici tu mets le tout
return Cb;
}
Puis dans ton exe :
extern "C" __declspec(dllimport) Cb importClasse(void);
Puis tu cree un objet temp pour stocker cb :
Cc = importClasse();
et tu copies t objet un a un...
N'oublie pas de mettre le fichier .lib que tu aura apres la compilation de la dll, dans le dossier ou tu compile l'exe !!
ilimo
Messages postés32Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention 2 juin 2006 30 déc. 2003 à 21:41
Je ne comprends pas le terme " importClasse "!!
j'utilise C++ , Visual.net C++
------------------------------------------------------
voici comment je fais et ça ne marche pas..
peut-êtrre qu'en voyant pon code,
quelqu'un pourra trouver l'erreur :
------------------------------------------------------
1- j'ai deux projets :
P1 : DLL ( c'est le dll que je crée )
P2 : EXE ( il se set de la dll que je crée )
class __declspec(dllexport) Donald
{
private:
int Doc; // pour compter
public :
Donald(); // constucteur
void Bonjour(); //une fonction membre pour compter
};
MoDDiB
Messages postés546Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention 4 mai 20071 31 déc. 2003 à 00:50
J'ai bien lu et je ne vois pas trop l'interet de ce que tu essais de faire pq tu ne cree pas directement la classe hors de la dll? une dll peut etre modifiable or en changeant de dll la tu rend totalement hors d'usage cette avantage !
Ou alors ton but est peut etre d'avoir moin ds ton exe dans ce cas la cree ton objet donald ds la dll et envoie a l'exe un pointeur vers cet objet à partir d'une fonction !
Vous n’avez pas trouvé la réponse que vous recherchez ?
ilimo
Messages postés32Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention 2 juin 2006 31 déc. 2003 à 08:56
l'interêt est d'apprendre..
au lieu d'envoyer tout mon code qui est top long et dépend d' autes classes, j'ai créé ce petit pogramme simple pour simplement comprendre comment ça marche..
sinon tu as raison, ça fait même pas 1 KO si je mets tout ensemble..
sinon ton idée me semble interessant mais l'ennui c'est que le type de retour de la fonction doit être du type de la classe de l'objet que je crée , donc le programme va refuser puisquu'il ne connaît que les types prédéfinis par le C++..
par contre si je mets le .h de ma dll (en plus de la dll et .lib) dans le .h de mon exe ça semble marcher...
je pensais qu'en mettant seulement :
class __declspec(dllimport) Donald;
dans le .h de mon exe et en reliant le .lib à mon projet et en mettant le .dll dans mon projet,
le programme pouvait comprendre qu'il faut qu'il aille chercher la classe dans le .dll
apparement ce n'est pas comme ça..
alors on mettra le .h de la dll dans le .h de l'exe..