LabVIEW:如何共享从LabVIEW创建的.NET对象

时间:2018-04-25 21:14:25

标签: labview

我在.NET库中有一个名为Camera的类,一旦我实例化了我想要创建它的对象,就可以从其他VI中使用这个实例。我如何制作参考或如何使其全球化?

谢谢,

1 个答案:

答案 0 :(得分:1)

有几种方法可以解决您的问题。

可能的答案1:您希望让多个并行的子VI同时使用该对象。 .NET线已经是参考线。分叉该导线不会复制该对象。只需将其连接到其他VI,无论有多少,并让它们都使用该引用。

可能的答案2:您试图获取另一个VI中的现有引用,而不通过子线通过子VI配置或按引用呼叫节点传递引用。在这种情况下,您将传递.NET对象引用句柄,就像在避免连线时传递LabVIEW中的任何其他数据一样。 通常,规则是"避免在数据流之外传递数据。" 严重...尝试通过conpane传递引用句柄...如果此程序将要有任何重要的一生,当你采取这种方法时,你会更快乐。 但是......当需要这样的数据流外传递时,有许多工具 - 队列,通知程序,全局VI,数据值引用,功能全局变量。哪些工具是正确的,这在很大程度上取决于您实际想要实现的目标。最简单的是创建一个全局VI,但是引入了大量的轮询检查,因为第二个VI必须继续轮询全局以查看第一个VI是否存储了值。通知程序引用句柄可能是我可以指向您的最灵活的选项...创建.NET引用句柄类型的命名通知程序。第一和第二VI都可以通过名称获得通知。然后第二个VI阻止Wait For Notificiation,等待第一个VI将引用句柄写入通知程序。有关通知程序的详细信息,请参阅http://zone.ni.com/reference/en-XX/help/371361L-01/glang/create_notifier/。或谷歌我列出的其他条款,如果这似乎不足以满足您的需求。