我在LabVIEW中加载DLL时遇到了问题。
我正在使用 LabVIEW 连接到流量计,为此,制造流量计的公司非常好,为我提供了一个子 VI 库。这些子 VI 中的每一个都从该公司提供的两个 DLL 库之一调用一个函数。
所以这些子VI中有一半依赖于一个DLL,另一半依赖于另一个DLL。那些使用第一个 DLL 的人工作得很好,而且他们没有问题。但是那些使用第二个 DLL 的人有一些错误:每次我打开这些子 VI 中的一个时,我都会得到一个弹出窗口,上面写着:
加载“绝对路径\name.dll”时出错。DLL 库初始化例程失败。
子VI则无法执行,运行按钮显示为已破解。但是有一个转折点。如果我右键单击“配置库函数节点”并选择“配置”,然后在相应字段中重新选择完全相同的dll 绝对路径,然后单击“确定”,子 VI 运行得非常好,并且完全按照它应该做的那样工作。我实际上并没有在节点配置窗口中更改任何内容,我只是重新选择了相同的路径。更奇怪的是,这个奇怪的“技巧”只有大约 75% 的时间有效。另外 25% 的时间,我需要关闭 VI 和任何其他引用它的 VI,然后重新打开它。
然后还有另一个对我来说更没有意义的转折:公司还给我发送了几个“示例 VI”,它们显示了不同的子 VI 应该如何相互使用。这些示例运行良好!但是后来我编写了自己的 VI,它是“示例 VI”的更简单版本,并且我不断收到 DLL 加载错误。
我做错了什么,如何确保 VI 是可执行的,而不必每次都重新配置库函数节点?你认为是什么导致了这个问题?
注意:部分问题是我并不真正了解在labview 中读取DLL 是如何工作的,因此任何有关这方面的信息也将不胜感激。