我的一个控件写好后,使用都很正常,但是在没有装VB的平台上不能使用,在别的开发工具上也一样,必须有VB才能正常加载,不知道为什么?请高手解答

解决方案 »

  1.   

    可能你的控件还需要VB其他的DLL,OCX等的支持.
    建议做一个安装打包程序.
      

  2.   

    需要注册该控件~
    regsvr32 路径+控件名
      

  3.   

    VB自带的DLL和OCX文件没有注册。
    在程序报错事会有相关的提示。
    找到需要的控件
    将控件放入System32文件夹
    然后手动注册 Regsvr32 控件名
      

  4.   

    setup factory等打包程序打包再安装试试!注册控件:Regsvr32 控件名(好像要写出完整路径)
      

  5.   

    遇过同样的问题,小结如下:
    (1)安装程序问题
       很多朋友不喜欢VB自带的打包程序吧?使用比较多的是Setup Factory 6.0,当然还有别的什么.但用这些专业打包工具你如果不小心的话(都按默认设置进行),有可能会发生打包不彻底的情况.你可以做个实验,一个用Setup Factory 6.0打包成几兆的安装文件,用VB自带的Package竟然能够打包成几十兆(当然这也符合微软的一贯风格)!如果出现这种情况,兄弟们不妨试试用回VB自带的Package打包,虽显雍肿,但有可能问题就解决了.如果还是不行,那你手工在Package的第四步分别本程序用到的OCX一个个去检查一下.(2)控件注册问题
    根据经验,最有可能发生楼主所说情况的是:包含通用对话框的窗体,检查以下控件在system32下是否正确安装:
    CommonDialog1
    ComCtl32.ocx MsComctl.ocx 
    ComCt232.ocx MsComct2.ocx (3)尽量少用第三方控件及自定义控件。
    这一个两难的选择啊,呵呵。即便是自定义控件,也要注意它的保存位置。如果一定要用而且又不想把它们放在system32下,那么就在C盘根目录下建个文件夹吧。为什么一定是C盘呢?因为有些懒惰的客户只有一个盘,你如果定义在D盘或者其他什么地方,在你的电脑上运行无误,在客户那儿可能就要出错了!大家都把自己的经验总结出来,一起发上来大家共享吧!