VBA中的运行时错误429,但已注册类

时间:2013-12-02 18:52:35

标签: vba activex plc ms-access-2013 clsid

我正在尝试重新创建一个程序,该程序使用javascript打开与PLC的连接,然后在网页上显示各种信息。出于各种原因,我宁愿在MS Access中使用它,并且花了很多时间尝试找到合适的dll(Jet32X.dll,如果有人好奇的话)。我终于跟踪了在javascript中调用的CLSID回到PLC的注册类,我正在尝试用VB代码创建该对象。它不会比Dim As New行更进一步,但是,抛出运行时错误429:“Active X Component无法创建对象”。真的希望我有更多关于原因的信息 我知道这个课程已经注册,因为这是我在第一时间找到它的方式。我知道DLL文件没有损坏,因为程序从JS版本运行良好。我怀疑这里存在某种不兼容性,因为PLC和支持软件已经很老了,我正在使用Microsoft Access 2013(及其相关的VBA)。但是,我无法想出一个验证这一点的好方法。有没有人有任何其他想法?还有什么可能导致这个问题吗?

1 个答案:

答案 0 :(得分:5)

想出来;以防其他人遇到这类问题:
32位COM dll不能在64位应用程序中运行。如果您不想返回并重新安装您正在使用的任何应用程序的32位版本,最简单的解决方法之一是使用dllhost.exe作为代理。 您可以稍微阅读一下here,但我发现tutorial更容易理解。

相关问题