最近在做MFC项目,其中用到了webbrowser控件,点击载入的页面里的文件下载链接后,出现提示保存的对话框,点击之后,程序就崩溃了,报:Unhandled exception at 0x0c2e4a60 in MyWeb.exe: 0xC0000005: Access violation.错误处指向这条语句:0C2E4A60  mov         dword ptr [esp+4],3C98A40h 。调了一天,也没什么结果,项目急需啊,已经严重拖延进度了,求高手指导啊!在线等!万分感激!!webbrowserexceptionmfcaccess下载文件

解决方案 »

  1.   

    vc
    调试
    http://www.cnblogs.com/VCdog/archive/2010/05/20/1739871.html
      

  2.   

    谢谢回复,我按你说的调试方式发现报错位置在XunleiBHO7.2.10.3694.dll上,堆栈结构是这样的:
    ,但是我下载了XunleiBHO7.2.10.3694.dll之后,无论是放在system32下、注册、还是放在主程序目录下,用loadlibrary导入dll都不起作用,仍旧报这个错误,求指导啊,谢谢!!
      

  3.   

    loadlibrary导入dll载入的时候下个断点
    导入名称写错了把 
    还是没有文件啊!
      

  4.   

    没用啊,我之前下了个webbrowser的demo发现里面也没用CoInitialize,但是下载文件是正常的,我对com编程了解不多,最近项目需要,刚接触,如果要加的话,应该写在哪儿呢
      

  5.   

    我刚刚按你说的,在loadlibrary处设置了断点,发现output中显示成功load这个dll了,我是将它放在跟.h,.cpp同一个目录下,所以在dialog的构造函数中,我添加这段代码:LoadLibrary(L"XunleiBHO7.2.10.3694.dll");  但是右击网页中的文件链接另存为,程序还是崩溃了,还是报同样的错,同样的位置。不知道到底哪个地方使用错误,我之前下载的demo里貌似没用这个dll,也能正常运行,我用的是vs2008向导,demo里是从vc6升级的,不知道这个是不是也会有影响呢
      

  6.   

    还是很感谢你,不过有个问题,你之前说初始化,我这边确实没发现初始化的东西,5楼版主也说可能是CoInitialize的问题,请问这个需要怎么写呢,会不会不是XunleiBHO7.2.10.3694.dll使用的问题呢
      

  7.   

    CoInitialize(NULL)
    放在app  的initial 里面
      

  8.   

    太感谢你了,这个问题解决了,原来我把dll先放在system32下,发现不行,后来我将它放在主程序目录下,loadlibrary也不行,我仔细看了一下调试器的模块,发现因为system32下的dll没删掉,发生了莫名其妙的冲突,将system32下的XunleiBHO7.2.10.3694.dll删除,load主程序目录下的就可以了。非常感谢你的回复,如果不介意的话,告知一下qq号呗,我的1103977600,以后多多交流。