问一个文本文件读取的问题

2019-07-18 07:50发布

首先编写了一个文本读取的子VI,文本用的是相对路径
现在在一个程序中调用该子VI,且没有问题
下面就是问题所在了
我将程序打包exe可执行文件,就没法进行读取了,就算在exe再建文本文件也无法读取
个人怀疑是路径问题,可又无从下手
所以请大家帮帮忙

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
fantek
2019-07-19 04:31
本帖最后由 fantek 于 2014-1-5 12:13 编辑

1、文件路径函数测试目录:D:PathTest
01 测试文件路径.bmp
2、测试程序MathPathTest.vi框图
02 文件路径函数测试程序框图.bmp

3、在项目编辑环境(D:PathTest)下直接运行“MainPathTest.vi”后的输出结果
03 项目编辑环境运行MainPathTest.VI后的结果.bmp

4、运行D:PathTest路径下的MainPathTest.exe后的输出结果
04 编译为exe文件后的运行结果.bmp

5、运行D:PathTest路径下MainPathTest.vi和MainPathTest.exe后的输出结果对比。
05 运行结果对比.bmp


6.一些小成果
(1)应用程序目录函数、默认数据目录和临时目录函数在编辑和编译两种状态下的输出结果非常一致,而其它函数的输出结果差异性较大。
(2)临时目录是windows系统环境变量TEMP=%SystemRoot%TEMP定义的,该变量在XP、VISTA及后续版本的定义不一样,该路径不适合作为测试测量系统采集数据的存储目录。默认数据目录函数也和windows版本有关,对于不同的windows7用户,会涉及存储权限问题。
(3)"应用程序目录函数"的输出在VI和EXE两种状态下最为一致,可作为起始路径使用,但该函数在高版本LabVIEW中才有。
(4)从对比结果来看,次优的选择是“当前VI路径”函数,使用时在VI状态下需要一次拆分路径,而在exe状态下需要两次拆分路径函数,才能获得文件所在的路径。这也许就是为什么在高版本LabVIEW中引入“应用程序目录函数”的原因吧。

一周热门 更多>