The AFX_MODULE_STATE structure contains global data for
the module, that is, the portion of the module state that is pushed or
popped.
By default, MFC uses the resource handle of the main
application to load the resource template. If you have an exported function in a
DLL, such as one that launches a dialog box in the DLL, this template is
actually stored in the DLL module. You need to switch the module state for the
correct handle to be used. You can do this by adding the following code to the
beginning of the function:
Visual C++ Copy Code
AFX_MANAGE_STATE(AfxGetStaticModuleState(
));
This swaps the current module state with the state
returned from AfxGetStaticModuleState until the end of the current
scope.