用VB 开发过一些系统,然后用Setup factory 打包,在windows2000,2003等系统中没有问题,
但是在xp 中有些控件无法注册,比如dbGrid 控件,报表控件,导致一些提示报错信息:Run-time error '9': Subscript out of range请教,如何处理?

解决方案 »

  1.   

    InstallShield 参考 http://download.csdn.net/source/1909734
      

  2.   

    楼主说的那俩控件在XP,2003系统都能注册。
    分析,你打包的组件文件可能不对。
    我的办法是,你先用VB自带打包工具,打包,打包后生成目录下有一个文件夹,里面你程序所有需要的组件文件,把他们拷出来,作为setup factory打包注册组件就行了。
       在setup factory 中,你右件组件文件--〉高级--〉dll,ocx文件都要选择“注册dll文件”单选按钮。如果是:lib 文件要把“注册 type lib文件”选上。然后要选择替换原有的文件。即使你系统中的组件比大包组件文件要新,也用旧的。这样肯定不会有问题。
      

  3.   

    是不是用法有误?
    http://download.csdn.net/source/1421217
      

  4.   


    是的, 我用的方法和你这差不多,是用通过VB自带的抽取出来后得到的,很奇怪的问题,为何在XP 中会出现某些控件注册通不过,在打包时也使用注册方式的,难道需要在XP 系统中打包分发就比较好吗