程序打包后安装到没有VB的机器上运行时提示“运行错误,'429',ActiveX部件不能创建对象”
我是在程序里调用了两个matlab的com组件mydll1.dll和mydll2.dll
打包时已经在setup factory里勾选了“注册com组件”、“注册类型库”
我想可能还是没有注册成功,请问如何才能解决这个问题
如果要注册的话,应该这么做
ActiveX 部件不能创建对象或返回对该对象的引用(错误 429)
创建对象要求该对象的类已在系统注册表中注册,而且任何相关的动态链接库 (DLL)必须能使用。此错误有以下的原因和解决方法:
类没有注册。例如,系统注册表中没有类的说明,或虽有类说明,但找不到文件,或指定的文件类型错误。
如果可能的话,试着启动对象的应用程序。如果注册信息过期或错误,应用程序应该检查注册表并更正信息。如果启动应用程序没有解决问题,请重新执行应用程序的安装程序。
对象需要的 DLL 不能使用,可能因为找不到,或是已损坏。
确保所有相关的 DLL 都可使用。例如,Data Access Object (DAO) 需要支持多平台的 DLL。如果这是造成错误的原因,则要为此对象重新执行安装程序。
对象在机器上使用,但它是授权的 Automation 对象,而且在具体的例子授权中不能确认可用。
一些对象在部件找到授权键后,才能被具体的例子说明,并且在当前的机器上的实例说明中,确认对象已被注册。当通过正确安装的类型库或对象库对一个对象进行引用时,就能自动提供正确的键。
如果 CreateObject 或 GetObject 的调用结果,是用例子说明,那么,对象必须找到键。在这种情况,它会搜寻系统注册表或查找它在安装时建立的指定文件,例如,扩展名为 .lic 的文件。如果此键找不到,则对象不能被说明。如果用户建立对象应用程序,删除必须文件,或改变系统注册表,则对象不能找到此键。如果此键找不到,对象也不能用例子说明。实例说明可在开发系统中工作,但不能在用户系统中。它对用户重装登记的对象是必须的。
使用 GetObject 函数获得用 Visual Basic 所创建类的引用。
GetObject 不能获得用 Visual Basic 所创建类的引用。
对该对象的访问显式地被拒绝。
例如,试图访问当前正在使用的数据对象,且此对象已被锁定以防止死锁情形发生。如果是这样的情形,可以在其他时间去访问对象。
详细信息,可选取有问题的项目,并按下 F1 (在Windows中)或HELP(在Macintosh中)键。