我自己写的一个ocx控件,然后我用VC6.0编译注册,随即会弹出一个"regsvr32.exe-应用程序错误"的对话框,上面写着"0x009e600b"指令引用的"0x302fa060"内存.该内存不能为"read".要终止程序,请单击"确定".当我点击确定后,又会出现一个"Microsoft visual C++ Runtime Library"的对话框,上面写着,Runtime error!C:\WINDOWS\system32\regsvr32.exe,R6025-pure virtual function call的对话框,点击确定后,不会出现对话框了,我写的控件也能用,但是上面的两个错误怎么解决,请大家指导指导,谢谢!

解决方案 »

  1.   

    就是regsvr32.exe调用你的ocx的DllRegisterServer函数时出错了。
    检查你的DllRegisterServer都做了什么。
    如果是MFC程序,检查初始化代码里做了什么。最直接的方式是调试,调试的程序写regsvr32.exe
      

  2.   

    DllRegisterServer函数,我都是默认的啊,我没有作修改,初始化代码也没做什么啊?调试具体一点怎么说呢?谢谢!
      

  3.   


    就跟调试DLL一样,把调试的宿主指向regsvr32.exe就可以了
      

  4.   

    同问,我也有一个dll,只是输出几个函数,没有def文件,没有dllmain,也没有重写dllregisterserver函数。
    #ifndef __DLL__
    #if DLL_EXPORTS
    #define __DLL__  __declspec( dllexport )
    #else
    #define __DLL__   __declspec( dllimport )
    #endif
    #endif //__DLL__regsvr32崩溃了。