开发LabVIEW时运行一切都没有问题,但是一旦将工程发布成.exe可执行文件,有些模块就不对劲了~
今天就将一个简单但是初学者易出错的问题,早学早避免~
开发LabVIEW软件时,往往需要编写一个配置文件,这样方便在软件运行时可以初始化一些参数,有时也需要重新设置一些参数,并要求下一次打开软件时默认就是这些参数。这个配置文件一般会打包在工程里,这就需要在开发阶段,考虑如何读写该文件,这里最重要的是文件路径怎么编写方便?
LabVIEW给了好多读取路径的方法,像这种读取配置文件的操作,一般不要求用户手动找文件,因此在开发阶段,有两个模块都可以方便实现上述功能:1)当前VI路径模块;2)应用程序目录模块。长得就跟下面一样。
来看看这两个VI有什么区别?编程阶段:这里我简单写了一个子VI和一个主VI,子VI路径为…\Test\SubVI\SubVI.vi;主VI路径为…\Test\Main.vi
这里,我们假设配置文件路径与主VI路径一样,即…\Test\配置文件.txt
程序框图如下:
运行一下看看:
这么一看没啥问题,一目了然,我建立了一个Test文件夹里,里面放了我的代码。之前也说了,配置文件路径跟主VI路径一样。如果使用应用程序目录模块,那么该路径就是配置文件的路径,如果使用当前VI路径模块,配合拆分路径模块,也能获得配置文件的路径。那么,我们生成一个.exe执行文件吧~
这里,要先注意一点,编译完成后,所有文件都放在了我的应用程序这个文件夹里!
我们直接运行应用程序~
这里就发现问题了:如果使用程序目录模块,那么运行结果跟编程模式结果预期是一样的,但是如果使用当前VI路径模块,那么程序就找不到配置文件了。
原因如下:
以Main_当前vi路径为例,编程模式下运行,配合一个拆分路径模块即可,而生成.exe执行文件后,就需要两个拆分路径模块了。
这就是开头问题发生的原因之一。
写在最后:
软件开发相关技术交流可留言或私信(LabVIEW,Matlab,STM32,ADSP均可)