用VB写了一个程序(用的ADO,另外还用了DTPICKER控件来设置时间)连接局域网上一台机子里的一个FOXPRO数据库,在写该程序的机子上编译后能正确运行,按F5运行也能成功,打包后也正常,但拿到其它机子(包括数据库所在的机子)上运行却提示:错误430.类不支持自动化或不支持期望的接口.  打包后安装到其它机子上也是这样,这个情况我从未遇到过,不知是什么意思请各位指点,时间很紧我很着急.谢谢.另外DCOM98也是安装了的.昨天下午在另一台机子上装VB6然后用VB6打开该程序,按F5运行,却提示库存不存在,选工程-引用-ADO2.0再运行,又提示"工程或类不存在",按调拭显示出错的地方是:da=Format$(DTPicker1.Value, "yyyymmdd")一句的format$涵数!我不知这句有什么错原来用过上百次都未出错把这句删了它又提示trim$出错!搞不懂在立即窗口试验这两个涵数,都提示错误而另新建一个工程马上原样用这两句却顺利通过。最后不得不新建一个工程,重新画控件,然后把程序中的代码一字不落的复制到新工程中,按F5顺利通过编译也成功,打包后也能在这台原先不能运行的机子上正常运行。 但我不可能每一台机子要用这个程序都得先装VB6然后再在该机上重写程序编译使用啊!但现在对我来说好相别无它法!!!
 对这一切我感到十分迷惑不知什么地方做错了,也十分灰心搞了两天还未找到原因。请各位高手不吝赐教我本已经没有分了,不知哪位给了我分210,解决问题我会再给分.谢谢在线等。

解决方案 »

  1.   


    VB自带的打包工具进行打包:
    Microsoft Visual Basic 6.0 中文版工具------Package & Deployment 向导InstallShield最专业
    InstallShield使用指南
    http://support.lnnu.edu.cn/is.htmsetup Factory 6简单易用
    http://vbeden.xg88.com/download/software/sf6.zip
    解压密码:www.vbeden.comwise 也不错
      

  2.   

    应该时ADO版本问题,你试用ADO2.7试试看,记得引用时用2.7版本,然后在安装的机器上同时更新ADO到2.7版本,还有在引用时去掉 OLE Automation, 我记得自己是这样解决问题的!
      

  3.   

    我也遇到过这种情况,你只要装一下2.0以上版本的ado就可以了。我装的是ado2.5。
    就不会出现"错误430.类不支持自动化或不支持期望的接口"和"工程或类不存在"了。
    还有为了以后使用方便,你可以把mdac_type2.5或是2.7直接替换你机器上VB6安装盘中vb6\pack4\中的mdac_type2.0。这样以后你重装vb6
      

  4.   

    就自动安装了ado2.0以上的版本。
      

  5.   

    谢谢楼上各位. 
    strongfisher(Haiwolf)兄和LCAAA(小小程序员)兄:我是用的VB6Package & Deployment打的包,不会是打包原因吧?我家中机子的ADO 是引用的2.6, 然后到单位机子上修改过程序单位机子ADO是2.1,这不会有问题吧?
    在哪里可找到2.7的?在要安装程序的机子上是不是直接安装mdac_type2.7就可以了,我记得打包后有一个support文件夹里有一个mdac_type,但打开它运行里面的setup 却提示插入磁盘1,我不懂这什么意思只好按取消.
     
      

  6.   

    我机子上引用里有microsoft activex data objects 2.0(2.1,2.5,2.6) librarv等,这应是ADO2.0 以上的版本吗?
      

  7.   

    建议你用setfactory打包
    installshell比较专业
    直接安装mdac_type2.7就可以了
    网上有下载
    或直接运行mdac_type
      

  8.   

    mdac_type2.7我已找到安好,不知是不是这个原因要到单位机子去试才知道.
    VB6的 Package & Deployment打包不行吗?看了你推荐的support.lnnu.edu.cn/is.htm.但好相不能下载installshied6.3.
      

  9.   

    是因为ADO 版本的问题装上2.7后行了.
    谢谢各位.