尝试创建 ActiveX 组件时出现运行时错误 429
Posted
技术标签:
【中文标题】尝试创建 ActiveX 组件时出现运行时错误 429【英文标题】:Runtime error 429 When trying to create ActiveX component 【发布时间】:2016-02-06 01:48:09 【问题描述】:运行时错误 429 -ActiveX 组件无法创建对象
当我的程序执行以下行时出现此错误。
Private WithEvents CommClient As XXcommClient
Private Sub Class_Initialize()
'Initializes the CommClient object.
Set CommClient = CreateObject("COMMLIBXLibCtl.XXcommClient") 'errors here
缺少什么? >_
我在 win8.1 上运行它。我已经更改了 mmc comexp.msc /32 中“XXCom.XxInfo”(包含上述代码)的访问权限和内容。顺便说一句,设置是无,每个人都可以编辑,和交互式用户。
有人可以指点我正确的方向吗?这几天我一直在兜圈子huhuhuhuhu
【问题讨论】:
如果这是一个 DLL,那么 DCOM 设置就无关紧要了,你是在找错误的树。 VB6 文档列出了导致此异常的一系列原因,我的猜测是您 (a.) 没有正确注册 DLL,(b.) 正在尝试使用不正确的 ProgId 字符串,或者 (c.) 没有拥有使用此 DLL 的许可。你为什么还要在这里使用CreateObject()
?
@Bob77 可能是 b)。在使用 CreateObject 之前,我使用了 Set CommClient = new XXcommClient 但仍然遇到相同的错误。如何正确注册 dll? >.
【参考方案1】:
@Bob77 说得对。 实际上是 a) 我没有正确注册 dll。
XXCommLibX.dll 实际上依赖于其他三个 .dll 和两个 .exe。这个细节实际上在手册中提到过。真的很尴尬。
正确注册 dll 后,我又回到了使用这一行:
Set CommClient = new XXcommClient
... 它奏效了。 >.
【讨论】:
以上是关于尝试创建 ActiveX 组件时出现运行时错误 429的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 C# 中使用 ActiveX 控件加载 PDF 文件时出现 COMException 错误
使用Windows运行时组件与Javascript UWP应用程序时出现“未知运行时错误”
ASP.NET Core 依赖注入错误:尝试激活时无法解析服务类型 - 调用视图组件时出现错误 [重复]
将输入字段聚焦在React组件中 - 尝试创建ref时出现类型错误