嫌分少我再加.

解决方案 »

  1.   

    用Regsvr32 注册你的ocxRegsvr32 c:\aaa.ocx
      

  2.   

    有些dll不能被注册这种方案因该不是好的
      

  3.   

    有可能是你放的位置不对,
    你先查找到开发机器的OCX所在的位置,然后在客户机上也放在相应的目录下,
    然后再用regsvr32注册OCX
    如lihonggen0(李洪根,MS MVP,标准答案来了)所写的那样
      

  4.   

    还有,即使手工注册了组件,Vb一些自带的标准控件如CommonDialog还是会出现版本兼容性问题,提示说当前的版本过期,可能是因为我装的是VB6+vb6sp1,COMDLG32.OCX版本号为6.0.84.18,而其它xp机器的COMDLG32.OCX版本号都是5.x.x.x的,这种问题怎么解决
      

  5.   

    如果我从别的机器copy一个5.n版本的COMDLG32.OCX替换本机的文件,又无法在vb中载入它.这又是怎么回事呢.
      

  6.   

    打包。我记得在程序代码里边可以直接调用自定义组件但是要把工具栏中自定义组建的那一个项目去掉然后添加license就可以了吧!呵呵,我也是正在学习中。
      

  7.   

    fhvsbgmy(活宝) 说的能不能详细一点啊
      

  8.   

    想让VB发布的程序干净点看来是没什么指望了,那至少帮我解决一下前面说的标准控件兼容性问题吧.还有,即使手工注册了组件,Vb一些自带的标准控件如CommonDialog还是会出现版本兼容性问题,提示说当前的版本过期,可能是因为我装的是VB6+vb6sp1,COMDLG32.OCX版本号为6.0.84.18,而其它xp机器的COMDLG32.OCX版本号都是5.x.x.x的,这种问题怎么解决
    如果我从别的机器copy一个5.n版本的COMDLG32.OCX替换本机的文件,又无法在vb中载入它.这又是怎么回事呢.
      

  9.   

    把控件ocx放在当前目录下(如C:\abc),再把Regsvr32.exe也复制到此目录,并在此目录下放一个批处理文件,内容为:
    Regsvr32 aaa.ocx
    这是通用做法,一般没问题!