Affichage d'une fenêtre MFC à partir d'une DLL
Bnjour,
Je viens de créer une DLL MFC de type "Use MFC in a shared DLL".
J'essaie d'appeler une boite de Dialog à partir d'une application principale (qui peut être un appli MFC ou non).
Dans le cas où j'essaie de créer directement ma boîte de Dialog de cette manière :
Code:
1 2 3 4 5 6
| CConfigurationDlg configuration;
configuration.Create(IDD_CONFIG_DLG);
if(configuration.DoModal() == IDOK) {
}
else {
} |
L'erreur suivante apparait à l'exécution lors du "Create" :
Citation:
AfxCurrentRessourceHandle vaut Null
J'ai lu par la suite qu'il faut créer une DLL Main, j'ai donc ajouté ce code à mon appli :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| static AFX_EXTENSION_MODULE g_extensionDLL;
extern "C"
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID ppvReserved){
int* a = NULL;
*a = 100;
printf("Debut\n");
switch(fdwReason) {
case DLL_PROCESS_ATTACH:
// Extension DLL one-time initialization
if (!AfxInitExtensionModule(g_extensionDLL, hinstDLL)) {
printf("Init Error\n");
return FALSE;
}
break;
default:
break;
}
printf("Init NO Error\n");
return TRUE;
} |
Mais la, lors de la compilation, j'ai l'erreur suivante qui apparait :
Citation:
Linking...
mfcs42d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in IDSSimuDll.obj
J'ai essayé de suivre les instructions de cette page : http://msdn.microsoft.com/en-us/libr...8VS.71%29.aspx
Merci pour votre aide !