解决方案 »

  1.   

    我把控件拷到c:\winnt\system32下再注册,这样不对吗?谢谢!
      

  2.   

    两个平台下,我出过一次问题,不过问题是反过来的,w2k可以,win98不行,是使用字符集的问题,对路径上的中文不能正确识别。毕竟两个平台,内部使用的字符集方式不同。估计你的问题也许与此有关。
      

  3.   

    to CaptainIII(山上人) :你怎么解决的?分我有
      

  4.   

    如果是动态库的话,regsvr32首先得到DllRegisterServer的地址,然后调用它,可以在DllRegisterServer中设置断点来跟踪
      

  5.   

    关键不是,是OCX我不知是什么原因?还是缺什么文件。
      

  6.   

    同意CaptainIII(山上人) 的看法,我想也是字符集的原因关注!
      

  7.   

    使用DEPENDS.EXE工具(VS6.0中带有)查看控件依赖那些DLL
      

  8.   

    你在W2k下安装了VC吗? 若没有, 则是缺少MFC库文件,你需要静态连接MFC库进行编译控件。 
    是否否用到了其他的库文件, 而没有让这些库文件与控件在一个目录下。
      

  9.   

    我也出现在过类似的问题,不过不是win2k~win9x的问题,而是win2k Person与win2k server, winxp之间的问题,想了下可能是regsvr32的版本问题,所以,现在我都改正用DLL本身的DllRegisterServer和DllUnregisterServer来注册和注销!
      

  10.   

    1. 用depend来察看这个控件用了些什么动态库,这些都要拷贝过去。2. 如果你没有在2k下安装vc,请拷贝并注册ATL.dll文件。
      

  11.   

    使用Visual Studio带的Depend程序看一下ocx依赖于什么动态库,但这只能看静态调用的,动态调用的就没有办法了
      

  12.   

    如果使用DEBUG方式编译的. 请使用RELEASE编译一下试试.
      

  13.   

    我现在就有这个类似的问题。我是在英文操作系统下(但语言语句已经设成中文)注册用中文win2k professinal下vc做的ocx控件。提示找不到模块。
    我也觉得是字符集的问题