软件注册站
热情软件屋

 
数据库程序安装后出现错误:“ActiveX无法创建对象,错误号429”
编号: QA002134    
建立日期: 1999年12月1日 最后修改日期: 2005年8月22日
所属类别: Visual Basic - 数据库
Visual Basic - 制作安装程序
   
    操作系统:Windows 98
    编程工具:VB 6.0
    问题:我用VB 6.0编写了一个软件,其中用到DBGrid、Data控件和Access 97数据库,打包后安装在其他的计算机上运行时出现错误:“ActiveX无法创建对象,错误号429”,但是安装在有Offices 97的计算机上运行正常。我怀疑是要求Access 97的缘故,我不希望对Access 97有依赖,请问如何解决?(linjinan)
   
    Mingjun Q的意见:
    估计是程序安装后没有正确注册所使用的DLL或OCX。如果是OCX没有注册,只需使用REGSVR32.EX
    E注册相应的OCX即可。如果是DAO则需要DAO350.DLL,在VB中我没有找到有关如何注册它的说明,而
    且使用REGSVR32.EXE注册也没用。通过查注册表(搜索DAO),我发现只要将相关注册分支导入到用
    户的机器中,就可以使用DAO.
    
    在主键:HKEY_CLASSES_ROOT中
     "DAO.DBEngine.35"
     "DAO.PrivateDBEngine.35"
     "DAO.TableDef.35"
     "DAO.Field.35"
     "DAO.Index.35"
     "DAO.Group.35"
     "DAO.User.35"
     "DAO.QueryDef.35"
     "DAO.Relation.35"
     "Microsoft DAO 3.51 Object Library"
    在主键:HKEY_LOCAL_MACHINE中也包含上述的分支。
    而且建议在导入前使用REGSVR32.EXE先注册DAO。
    
    刘利安的意见:
    VB不尽人意的地方或者说独到之处,就在于它编译出的可执行文件过分依赖dll或ocx,因此开发的程序安装时必须弄清楚它离不开那些dll或ocx。
    你的程序中Data控件是内置的,而DBGrid必须依赖dbgrid32.ocx。另外,调用数据库,一般需要安装Msjet35.dll和dao350.dll。安装Access之后,这两个文件会分别添加在系统中(前一个在Common Files\Microsoft Shared,后一个在System),这也许就是你遇到的问题所在。
    有一个软件--DLLExplorer--可以帮到你,你自己在网上找找看,怎么用我不多言。
    
    江凯的意见:
    可以将 DAO350.DLL文件复制到C:\Program Files\Common Files\Microsoft Shared\DAO\文件夹下,在windows开始选项的“运行”窗口下输入下面内容注册 DAO350.DLL 动态链接库
    regsvr32 "C:\Program Files\Common Files\Microsoft Shared\DAO\DAO350.DLL"

    

此问题由Mingjun Q等回答。

附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 数据库, database, query, 制作安装程序, setup, installshield, wise install

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio