ActiveX 部件不能创建对象?

libingao 2004-08-28 06:31:03
我的 VB 程序中引用到了 ADO 2.6 ,在五台机子上运行,只有三台机子能正常运行,另两台机子总是报错:ActiveX 部件不能创建对象(错误号:429) 和 Automation 错误(错误号:-2147024770)!
这几台机子我都安装了:mdac_typ.exe 2.6 。
我在测试时,分别安装了 mdac_typ.exe 2.6 和 2.7 的中文版和英文版,都报以上错误,为什么?

是不是我的操作系统有问题,还是别的原因,我在其中一台机子上的 VB 设计环境中加载引用 ADODC 和 ADODB 好像也有问题,但是:我的 mdac_typ.exe 2.6 应该没问题呀,其他机子只装了 mdac_typ.exe 2.6 中文版就没问题了!
拜托各位高手呐,先谢谢了!
...全文
3024 点赞 收藏 23
写回复
23 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
5imy 2005-02-22
我今天也碰到这个问题。以为是操作系统的问题,害得我重新装了系统。晕死。后来还真的是那个DLL没有注册。。白折腾了一中午。。。
回复
libingao 2004-12-24
问题仍没从根本上解决 ???
回复
libingao 2004-12-09
up
回复
libingao 2004-09-26
至今问题仍是没有很好的解决,更有甚者:我打包后的安装盘在有问题的机子上安装卸载多边后,居然出现打不开:控制面板\添加删除程序,当我打开 添加删除程序 时,会报出:
“An unexpected error occurred .
没有注册类别
res://appwiz.cpl/listbox.htc
Line:225 ”
错误,并说“本机上没有安装程序”!

可同样的安装盘在其他几台机子上安装卸载 N 边后,一切正常,没什么错误!

正是很奇怪!
回复
xinjs 2004-09-07
顶!
我顶!
我使劲顶!
回复
yassee 2004-09-07
估计行之有效的方法是重装系统。
回复
david1981 2004-09-07
这种问题我也碰到过很多次,但是只要更新了mdac的最新版本,安装好以后就没有什么大的问题了。你装一下2.8版本的试一下呢。
回复
bobbycpu 2004-09-07
我也是同样的问题,也顶一下,垦求正确答案啊!
回复
zdmaster 2004-09-03
看看是不是系统版本不一样,是不是windows的补丁不一样,有没有用到office.
建议把重新打包。
回复
email0755 2004-09-02
补充一点,你引用了ADO 2.6 ,看对应得文件是不是msado15.dll
回复
email0755 2004-09-02
一个很可能不是技术的问题!
可能是一个等到问题解决了还不知所然得问题!

回复
sxbjgov2000 2004-09-02
看还有没有更好的方法
回复
libingao 2004-09-01
谢谢 xinjs(ERROR) 帮我顶!
自己也顶,看还有解决办法吗?
回复
xinjs 2004-08-31
再顶!
回复
xinjs 2004-08-29
不是合理的方法。如果你的软件是作为一个产品卖给用户,你也要求用户这样嘛?
回复
wzzwwz 2004-08-29
这是MSDN6.0里的解释。

ActiveX 部件不能创建对象或返回对该对象的引用(错误 429)


创建对象要求该对象的类已在系统注册表中注册,而且任何相关的动态链接库 (DLL)必须能使用。此错误有以下的原因和解决方法:

类没有注册。例如,系统注册表中没有类的说明,或虽有类说明,但找不到文件,或指定的文件类型错误。
如果可能的话,试着启动对象的应用程序。如果注册信息过期或错误,应用程序应该检查注册表并更正信息。如果启动应用程序没有解决问题,请重新执行应用程序的安装程序。

对象需要的 DLL 不能使用,可能因为找不到,或是已损坏。
确保所有相关的 DLL 都可使用。例如,Data Access Object (DAO) 需要支持多平台的 DLL。如果这是造成错误的原因,则要为此对象重新执行安装程序。

对象在机器上使用,但它是授权的 Automation 对象,而且在具体的例子授权中不能确认可用。
一些对象在部件找到授权键后,才能被具体的例子说明,并且在当前的机器上的实例说明中,确认对象已被注册。当通过正确安装的类型库或对象库对一个对象进行引用时,就能自动提供正确的键。

如果 CreateObject 或 GetObject 的调用结果,是用例子说明,那么,对象必须找到键。在这种情况,它会搜寻系统注册表或查找它在安装时建立的指定文件,例如,扩展名为 .lic 的文件。如果此键找不到,则对象不能被说明。如果用户建立对象应用程序,删除必须文件,或改变系统注册表,则对象不能找到此键。如果此键找不到,对象也不能用例子说明。实例说明可在开发系统中工作,但不能在用户系统中。它对用户重装登记的对象是必须的。

使用 GetObject 函数获得用 Visual Basic 所创建类的引用。
GetObject 不能获得用 Visual Basic 所创建类的引用。

对该对象的访问显式地被拒绝。
例如,试图访问当前正在使用的数据对象,且此对象已被锁定以防止死锁情形发生。如果是这样的情形,可以在其他时间去访问对象。
回复
RUKYO 2004-08-29
估计是机子上的vb不能正确加载ocx、dll类文件,安装最新的mdac并试下手动用regsvr32注册有关文件
回复
xinjs 2004-08-28
顶!
我顶!
我使劲顶!
回复
xinjs 2004-08-28
顶,我也想知道真正答案。虽然我的解决了。
回复
libingao 2004-08-28
后来重新安装了mdac_typ.exe 2.7中文版,也未能解决,之后马上重启机器,仍未能解决。操作系统为windows2000 pro
回复
加载更多回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-08-28 06:31
社区公告
暂无公告