错误提示信息如下:IEXPLORE 在 0167:5f40430d 的模块
MFC42.DLL 中导致无效页错误。
Registers:
EAX=10008760 CS=0167 EIP=5f40430d EFLGS=00210206
EBX=0058c48e SS=016f ESP=0058c408 EBP=0058c434
ECX=0000001a DS=016f ESI=00000000 FS=2ab7
EDX=81745be0 ES=016f EDI=0058c496 GS=0000
Bytes at CS:EIP:
0f b6 40 14 8b 5d 0c 89 45 08 85 f6 75 41 f6 47
Stack dump:
00000000 0058c4ea 0058c48e 0058c454 001f2d4c 820fb22c 00000084 004829f8 0058c464 5f492db2 ffffffff 0058c474 bff72317 00000003 00000c90 0058c4c6
MFC42.DLL 中导致无效页错误。
Registers:
EAX=10008760 CS=0167 EIP=5f40430d EFLGS=00210206
EBX=0058c48e SS=016f ESP=0058c408 EBP=0058c434
ECX=0000001a DS=016f ESI=00000000 FS=2ab7
EDX=81745be0 ES=016f EDI=0058c496 GS=0000
Bytes at CS:EIP:
0f b6 40 14 8b 5d 0c 89 45 08 85 f6 75 41 f6 47
Stack dump:
00000000 0058c4ea 0058c48e 0058c454 001f2d4c 820fb22c 00000084 004829f8 0058c464 5f492db2 ffffffff 0058c474 bff72317 00000003 00000c90 0058c4c6
解决方案 »
- CDC 的显示与隐藏
- ADO连接数据库添加数据时出现错误!
- ACCESS适合做点歌系统的数据库管理系统吗?
- 我怎样进行帮助文件扩展编程?
- 基于exchange开发过滤垃圾邮件的COM是否可行?
- 关于CSplitterWnd拆分窗口的问题
- 如何能够在关闭一个视的时候不让它提醒用户保存文件?也不让它保存,因为这个文档实际上并不因为视的关闭而关闭
- 有关gethostbyname的问题
- ms flex grid 如何响应鼠标单击事件?在线等待,立即送分
- 急!急!为了毕业证!PLEASE HELP ME!可能是最后一道!并特请sxbyl和ironsmith两位已帮过我的师兄帮忙!小弟不胜感激!
- va_list是什么类型?
- 字符串问题,撒分
mfc42.dll及msvcrt.dll是Microsoft Foundation Classes (MFC) Libraries动态连结库。大部分软件在安装的时候就会将他们一起安装到电脑里面。有些软件为了让安装文件小一点,就没有包含这两个动态连结库,这时候你就需要另外安装他们了http://support.microsoft.com/default.aspx?scid=kb;ZH-CN;q168004FIX: "Unable to initialize DAO/Jet db engine" Error (Q168004)--------------------------------------------------------------------------------
The information in this article applies to:
Microsoft Visual C++, 32-bit Enterprise Edition, versions 4.2 , 4.2b , 5.0
Microsoft Visual C++, 32-bit Professional Edition, versions 4.2 , 4.2b , 5.0
--------------------------------------------------------------------------------
SYMPTOMS
When 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: Unable to initialize DAO/Jet db engine CAUSE
Version 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. It is possible to fix the problem by installing DAO 3.5 on the machine as well. However, keep in mind that this means you will be using a new Jet database engine, which may introduce new problems with the application that was tested using DAO 3.0. 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. For additional information about the Visual Studio 97 Service Pack 1, please see the following article in the Microsoft Knowledge Base: Q170365 INFO: Visual Studio 97 Service Packs - What, Where, and Why MORE INFORMATION
You 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: // Determine whether to use DAO 3.5 or 3.0
// Use DAO 3.0 if DLL build and not
// built with MFC 4.21 or later
BOOL bUseDao30 = FALSE; #ifdef _AFXDLL
AFX_MODULE_STATE* pModuleState = AfxGetModuleState();
if (pModuleState->m_dwVersion < 421)
bUseDao30 = TRUE;
#endif // _AFXDLL
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.
主 题: 请问,关于.dll文件的错误怎么办,我的某些软件一启动就显示说比如mfc42.dll错误,然后就关闭,不管怎样重装都不行,求救!!!
作 者: wideseaheart (广海之心)
等 级:
信 誉 值: 100
所属论坛: Windows 9x/ME
问题点数: 20
回复次数: 9
发表时间: 2002-1-28 1:30:08
请问,关于.dll文件的错误怎么办,我的某些软件一启动就显示说比如mfc42.dll错误,然后就关闭,不管怎样重装都不行,求救!!!
回复人: cnss(风) ( ) 信誉:98 2002-1-28 1:40:03 得分:0
windows的事吧,重装系统
Top
回复人: wideseaheart(广海之心) ( ) 信誉:100 2002-1-28 10:36:17 得分:0
没有别的办法么?fmc42.dll是什么?
Top
回复人: cnss(风) ( ) 信誉:98 2002-1-28 15:10:54 得分:0
fmc42.dll是MFC的动态链接库,它支持着MFC程序的运行
如果你替换fmc42.dll还不行,估计是系统有毛病了
Top
回复人: siyuan79(极品荔枝,增城挂绿。) ( ) 信誉:100 2002-1-28 16:03:36 得分:0
如果你从一个没有问题的系统中COPY一个这个文件还是不行的话,那你只有从新安装系统了!没有办法啊!
Top
回复人: RockSjc(Midnight) ( ) 信誉:100 2002-1-28 22:53:10 得分:0
mfc42.dll是用VC写的程序的动态链接库,没有他,用相应VC写的程序就不能运行。
将MFC42.dll删除,再重新复制/安装你的软件。可能是你新装的软件中的MFC比原来的版本旧,导致上述错误。
如果你没有MFC的话,可到本站“软件”部分找找!
Good lucky!
Top
回复人: rgbahnh(秋风) ( ) 信誉:100 2002-1-29 11:06:01 得分:0
不用这么麻烦,你把mfc42.dll的文件复制出来,放到c:\windows\system下面,然后打开注册表用查找功能找出所有键值为mfc42。ll的键值,把它删除。然后重新启动一下,系统会自动查找出正确的文件。这样就好了。
Top
回复人: rosson(新星罗雄) ( ) 信誉:100 2002-1-29 17:24:56 得分:0
记住MFC42的路径,将其删除,再在你所安装的盘中提取这个文件出来,如有问题联系我吧
[email protected]
Top
回复人: wideseaheart(广海之心) ( ) 信誉:100 2002-1-29 23:53:00 得分:0
多谢各位前辈指点,多谢!有问题我会再问的
Top
回复人: pepsimen(金属柔情) ( ) 信誉:100 2002-1-30 13:01:52 得分:0
运行c:\windows\system\sfc.exe 系统文件检查程序
如果文件有错会提示你用原盘中的文件来替换的!!!