The information in this article applies to:
SUMMARY
The Visual C++ 4.1 MFC documentation indicates that MFC Extension DLLs need
to use the macro expression "AFX_MANAGE_STATE(AfxGetStaticModuleState());"
at the top of every exported DLL function. This is incorrect; MFC Extension
DLLs do not need to use this expression. MORE INFORMATIONUnder the subheading "Extension DLLs" of the article "Visual C++ Books -> MFC 4.2 -> Programming with MFC:Encyclopedia - > Dynamic-Link Libraries (DLLs) -> Dynamic-Link Libraries (DLLs)," the following text appears: "If you have a resource in your DLL, such as a dialog, you need to use the macro AFX_MANAGE_STATE to switch the MFC module state correctly, so that Windows looks in the DLL and not in the EXE for the resource. This can be done by adding the following line of code to the beginning of functions exported from the DLL:
This is incorrect. Extension DLLs do not need to add this macro at the top
of every exported function . The AFX_MANAGE_STATE macro can be used inside
of callbacks or custom window procedures to properly adjust the current
module state, but it should be used with AfxGetAppModuleState() or a
specific module state instance instead of AfxGetStaticModuleState().Any attempt to use AfxGetStaticModuleState( ) in an Extension DLL will result in possible run-time problems and the following linker errors: The incorrect paragraph was removed from the documentation for Visual C++ in version 4.2. © Microsoft Corporation 1999, All Rights Reserved. Additional query words:
Keywords : kbdocfix kbdocerr kbDLL kbMFC kbVC |
Last Reviewed: December 3, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |