Bonjour à tous.
Je suis chargé d'isoler la couche de communication d'un logiciel dans une DLL. J'isole donc dans une DLL le bus et le protocole.
En consultant les tutoriels, j'ai remarqué celui de Farscape : "DLL d'extensions : écriture d'un plug-in de classe". L'avantage de cette méthode est d'utiliser la classe de la DLL comme si elle faisait partie du projet (si j'ai bien tout compris, je suis novice en DLL...)
J'ai donc mis cela en œuvre, ce qui marche très bien jusqu'au moment où j'ai voulu ajouter une boite de dialogue dans la DLL pour la configuration. Et là... Assert dans le code MFC lorsque je tente de faireAprès une petite recherche, pour utiliser une boite de dialogue dans une DLL, il faut faire précéder son utilisation par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CMyDlg dlg; dlg.DoModal();Mais là, le linker n'en veut pas : symboles déjà définis DllMain... (je n'ai plus les messages exacts en tête).
Code : Sélectionner tout - Visualiser dans une fenêtre à part AFX_MANAGE_STATE(AfxGetStaticModuleState());
Alors est-ce que je fait fausse route en utilisant ce type de DLL (extension MFC) ? Faut il que je repasse au type Shared MFC DLL ?
J'avoue que je suis un peu perdu ; merci par avance de vos explications et conseils !
edit : je ne pense pas que ça ait une grande influence, mais ce projet est sous VC++98
Partager