我正在尝试重新创建一个程序,该程序使用 JavaScript 打开与 PLC 的连接,然后在网页上显示各种信息。由于各种原因,我宁愿将其以 MS Access 的形式保存,并且一直在努力寻找合适的 dll 来使用(Jet32X.dll,如果有人好奇的话)。我最终将 javascript 中调用的 CLSID 跟踪回 PLC 的注册类,并且我尝试在 VB 代码中创建该对象。然而,它不会比 Dim As New 行更进一步,抛出运行时错误 429:“Active X 组件无法创建对象”。真的希望我能了解更多有关原因的信息。
我知道该课程已注册,因为这就是我首先找到它的方式。我知道 DLL 文件没有损坏,因为程序在 JS 版本中运行良好。我偷偷地怀疑这里存在某种不兼容性,因为 PLC 和支持软件相当旧,而且我正在使用 Microsoft Access 2013(及其相关的 VBA)。然而,我实在想不出一个好的方法来验证这一点。还有人有其他想法吗?还有其他什么原因导致这个问题吗?
弄清楚了;如果其他人遇到此类问题:
32 位 COM dll 无法在 64 位应用程序中运行。如果您不想返回并重新安装您正在使用的应用程序的 32 位版本,最简单的解决方法之一是使用 dllhost.exe 作为代理。
你可以阅读一些相关内容here http://www.scribd.com/doc/56629579/64-Bit-Insider-Volume-1-Issue-7,但我发现了这个tutorial http://www.gfi.com/blog/32bit-object-64bit-environment/更容易遵循。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)