LabVIEW中使用打开ActiveX自动化时遇到错误3005

更新 Jan 18, 2023

适用于

软件

  • LabVIEW 8.2.1 Full
  • LabVIEW 8.2.1 Base
  • LabVIEW Base
  • LabVIEW Full
  • LabVIEW Professional

问题详述

我正在使用LabVIEW中的打开自动化VI和一个ActiveX服务器通信。我已经在自动化应用句柄中选择了相应的ActiveX类。当运行代码时,得到如下错误:

自动化打开时发生错误3005:指定的对象不可创建。
此错误代码未定义。出于多种原因,可能会出现未定义的错误。例如,没有提供代码的描述,或者您可能已将非错误代码数字连接到错误代码输入。
此外,可能会出现未定义的错误代码,因为该错误与第三方对象(如操作系统或ActiveX)有关。对于这些第三方错误,您可以通过在Web上搜索错误代码(3005)或其十六进制表示(0x00000BBD)来获取错误的描述。

 

解决方案

如果您使用的是LabVIEW 8.2或8.2.1:

这是一个在LabVIEW8.2或者8.2.1创建或者编辑的VI时会出现的问题,在LabVIEW8.5中被修正。为了修复这个问题,你必须在LabVIEW8.5中重新创建包含打开自动化VI的代码。这部分代码不能在LabVIEW8.2中保存或者编辑,不然该错误还会继续出现。

只要代码中不需要打开自动化函数,那么在项目中使用通过LabVIEW8.2保存的代码是不会报错的。所以,只有包含打开自动化函数的那个VI需要被在LabVIEW8.5中重新编写。

如果你现在刚好正在准备使用8.2编辑你的项目,你可以先将所有的文件都搬移到LabVIEW8.5中以便可以批量编译。复制所有的文件到一个新文件夹,确保没有丢失文件。然后,在LabVIEW8.5中,你可以进入工具》高级》批量编辑并且选择新文件夹。它会依次打开所有的文件,然后在LabVIEW8.5中重新保存它们。这个时候,你可以在LabVIEW8.5中依照正常方法运行项目。


LabVIEW 8.5或更高版本:

如果ActiveX对象找不到时也会报3005号错误。某些情况下,ActiveX对象的名称会改变。为了修正,你必须重新插入ActiveX对象。比如,Adobe Reader可能会出现这个情况。在ActiveX容器控件上右击然后选择插入ActiveX对象...

导航到服务器名词,例如,Adobe PDF Reader ,单击确定。

在程序框图中,您需要在调用节点(Invoke Node)中重新选择方法。 在方法名称上左键点击选择你所需要的方法。