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 : Sélectionner tout - Visualiser dans une fenêtre à part
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" :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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 !