发布网友 发布时间:2022-04-11 21:44
共2个回答
懂视网 时间:2022-04-12 02:05
如何解决 MFCO42D.dll 0xC0000005:Access Violation 问题 一.问题的提出: 在甲电脑,就是笔者的电脑,程序可以正常运行; 但是在乙电脑,就是同事的电脑,程序运行却出现( MFCO42D.DLL ) :0xC0000005:Access Violation 错误信息。 二.错误提示: ( MFC
如何解决MFCO42D.dll 0xC0000005:Access Violation问题
在甲电脑,就是笔者的电脑,程序可以正常运行;
但是在乙电脑,就是同事的电脑,程序运行却出现(MFCO42D.DLL):0xC0000005:Access Violation错误信息。
(MFCO42D.DLL):0xC0000005:Access Violation
COleDropTarget::Register(pGridCtrl);
【Tools】--【Options】--【Directories】--【Show directories for:】
Library files选择的库是
C:/Program Files/Microsoft Visual Studio/VC98/MFC/LIB
Executable files
C:/WINDOWS/system32
在笔者的机器上,链接的是MFCO42D.DLL的6.0.8168.0版本
在同事的机器上,链接的是MFCO42D.DLL的6.0.8972.0版本
而笔者又将MFCO42D.DLL放到了笔者运行程序的Debug目录,注意:该库的版本的是6.0.8168.0版本。
程序每次运行的时候:就会首先从Debug目录查找MFCO42D.DLL动态链接库,加载运行。
在乙电脑上,编译的是MFCO42D.LIB的6.0.8972.0版本,而加载的是Debug目录下的6.0.8168.0版本的MFCO42D.DLL动态链接库,版本不匹配,故而运行出错。
比较项 |
甲电脑 |
乙电脑 |
MFCO42D.LIB的大小 |
1,502,076bytes |
1,043,972bytes |
MFCO42D.LIB的Created时间 |
1998年6月17日, 0:00:00 |
Friday,February 27,2004,12:00:00 AM |
MFCO42D.DLL的大小 |
798,773 bytes |
827,445 bytes |
MFCO42D.DLL的版本号 |
6.0.8168.0 |
6.0.8972.0 |
1.将运行程序的Debug目录下的MFCO42D.DLL的文件删除掉;
2.让甲乙两台电脑的VC6开发环境一样,都是VC6+SP6补丁。
热心网友 时间:2022-04-11 23:13
内存访问错误,这个要走读源代码,从mfc42.dll看来,应该是你调用的dll内部使用了mfc,可能是资源冲突。具体还是要走读源代码,看看每个指针的值。