The information in this article applies to:
SYMPTOMSWhen you run a Visual C++ version 4.2 or 4.2b application on a machine that has the 4.21.7022 version of the MFC DLL (MFC42.DLL), the following message appears when you try to use MFC DAO classes:
CAUSEVersion 4.21.7022 of the MFC DLL (MFC42.DLL), which comes with Visual C++ 5.0, always incorrectly tries to use DAO 3.5. Visual C++ 4.2 applications use DAO 3.0 and, therefore, DAO 3.0 is installed rather than DAO 3.5. When MFC tries to load DAO 3.5 and it is not there, the error message shown above appears. RESOLUTION
Visual C++ applications that are statically linked with MFC do not use the
MFC42.DLL and do not see the problem. Also, the MFC DLL (MFC42.DLL) that
comes with Visual C++ 4.2 can be placed in the directory of the application
so that it is used, rather than the newer MFC DLL.
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. This bug has been corrected in Visual
Studio 97 Service Pack 1.
Q170365 INFO: Visual Studio 97 Service Packs - What, Where, and Why MORE INFORMATIONYou can see the bug with the MFC42.DLL by looking in the DAOCORE.CPP file included with Visual C++ 5.0. In several places in the file you can see the following code:
Notice that the version checking is incorrect. The version is checked
against '421' instead of '0x0421'. This means that bUseDao30 will always be
FALSE and this causes DAO 3.5 to be used.
Keywords : kberrmsg kbDAO kbDatabase kbMFC kbVC kbVS97sp1fix kbVS97sp2fix |
Last Reviewed: July 7, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |