labview中,用相对路径动态调用的子VI,在生成EXE文件后无法调用问题的解决 | 您所在的位置:网站首页 › labview运行一次保存到一个文件夹 › labview中,用相对路径动态调用的子VI,在生成EXE文件后无法调用问题的解决 |
搞了一天的时间,终于把问题解决了。网上搜了很多方法试了都没效果,最后看到这个帖子,按照帖子上的方法操作之后成功了。现在把原文贴过来。 原帖地址:http://www.mufenglv.com/forum.php?mod=viewthread&tid=66
在LabVIEW编程过程中,常常用到“当前VI路径”模块,将其和“创建路径”模块结合使用,就可以得到VI所在目录下的任何一个路径。然而当把vi文件打包成exe文件之后,因为labview回把exe视作是额外的一层目录,因此会导致依赖相对路径的各部分功能无法运转。 这个问题,你如果看过《我和LabVIEW》那本书,在263页那里已经说明了。 我摘抄一下:在生成EXE文件后。LV会把这些VI封装到EXE里面。这个时候,EXE相当于一个虚拟文件夹,那些VI都在EXE这个虚拟文件夹内部。 你可以用创建显示路径试试看。会发现路径会多个“.EXE”. 如果你动态调用。那你路径,应该知道这个 EXE虚拟文件夹下的vi里。 而且,你要在 源文件 始终包括里,加上你的VI。 如果你VI的路径是 ABC\123.VI. 那么你EXE里的这个Vi路径是 ABC\应用程序.EXE\123.VI. 至于别人说的,拆不拆路径,一般是针对 其他文件,例如数据文本之类的。如果调用VI。不用拆分。 看实际情况了。
给你举例子吧。这样容易懂。 下面,我的主VI,是Welcome_gui.vi 我要动态调用运行choose.vi.注意我的文件层次。 choose.vi在SUBVI文件夹下。 一定要把你调用到的文件夹和VI都放到项目文件里。最简单方法,就只直接拖动文件或者文件夹到项目里。 如果你不拖动,后面的添加原文件,是填不进去的(当然,有些有依赖关系的,系统会自动给你添加,不过既然是动态调用,就没有依赖关系了。)。 看图。 |
CopyRight 2018-2019 实验室设备网 版权所有 |