为什么activeX无法从Labview可执行文件创建对象?

时间:2010-06-07 18:55:12

标签: vbscript activex labview

这是我的情景。我正在使用Quicktest Pro(VB)从Labview VI创建一个ActiveX对象,我将其构建到可执行文件中。在VI的构建规范中,我启用了ActiveX服务器选项(ActiveX服务器名称:“MyLabviewProgram”),并在VI工具>选项> VI服务器:配置中选中了ActiveX框。

所以在QTP中我的代码是:

Set IvApp = CreateObject("MyLabviewProgram.Application")
Set Vi = IvApp.getVIReference("MyLabviewVI.vi")
Vi.Call ParamNames, ParamVals

运行此操作后,我在第一行收到运行错误:

  

ActiveX组件无法创建对象:'MyLabviewProgram.Application'

我无法弄清楚它为什么会出错。从National Instruments网站上,他们可以在他们的一个社区页面上找到“LabVIEW Executable用作ActiveX服务器”。步骤是在构建EXE之后,5。在目标上至少运行一次EXE以激活.TLB文件。我已经运行了可执行文件,但不确定它们在目标上的含义。

是否有人建议我需要做些什么才能使其正常工作?

1 个答案:

答案 0 :(得分:1)

您的说明听起来像是您正确创建了vi .exe。 “在目标上”可能意味着“在目标PC上”。每次执行时,EXE都会将所有COM注册条目添加到Windows注册表中。

听起来您尚未验证注册表中是否存在COM注册条目。这是第一个调试步骤。

运行regedit.exe并在MyLabviewProgram.Application子键下搜索HKEY_CLASSES_ROOT。您应该找到一个包含子键的条目,该子键包含一个包含GUID(一个大的十六进制数字)的值。

应在GUID / HKCR键下引用“类ID”CLSID。该引用应包含一个LocalServer32子键,其默认值指向应用程序的.EXE文件路径,并附加/Automation参数。

似乎其中一个步骤会失败。如果没有更多信息,我无法确切地说出哪一个。