这是一个模糊不清的星期五早上问题:
在LabVIEW中是否可以在不将整个VI加载到内存中的情况下获取VI的被调用者?例如,通过读取二进制文件中的静态信息?
由于
答案 0 :(得分:1)
有私有/ scriptig方法App。从文件中读取链接器信息,我认为这不会将VI加载到内存中,有关更多信息,请查看{{3链接器方法上的(当前离线,这里是LabVIEW wiki)页面。
链接器方法将返回VI上的所有信息及其外部需求(VI,DLL,CHM等)。
吨
答案 1 :(得分:0)
不,我不相信。当您打开对顶级VI的引用时,它将被加载到内存中。甚至在你有机会查询它的被调查者之前就已经存在了。
答案 2 :(得分:0)
吨的答案是正确的。提到的方法是应用程序实例方法,而不是VI引用方法。您为该方法提供了到该VI的路径,然后它将解析VI结构并提取所有相关的链接器信息,而无需将该VI本身加载到内存中(显然,它将从文件中读取信息到内存中进行解析)它,但不会加载/实例化VI本身。
但是,该节点的问题在于它是私有的,因为它过去更改了其接口,并且将来可能会再次更改而不会发出警告。甚至在7.0到7.1之间的情况下,接口更改时没有任何警告,以断箭头的形式出现,但是当使用旧的数据结构执行它时,它只会崩溃。作为一个完全有效的私有节点,不对私有节点的功能做任何保证。