微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > 从文件的读写,映射项目的建立与生成exe中的问题

从文件的读写,映射项目的建立与生成exe中的问题

时间:10-02 整理:3721RD 点击:

这几天编写程序遇到了个问题,我要在外部建立一个文本文件,用来记载程序中的窗帘位置的数值,可是读不出数值。


首先我怀疑的是没有建立txt文档的原因。因为生成的就如下图1的3个文件,所以我建立了一个窗帘位置.txt可是还没反应


                       图1


这是为什么呢,我之前百度过,有类似的相关问题“无法读取外部声音”,
网上人说,路径问题,打包生成了,原来的相对路径就是可执行文件当前的路径。
我想还是没错啊。不过我还是读取了相关的路径,不看还好,可是一看就吓人了。
这路径奇葩的。没打包的路径图为图2,打包后为图3。

              
图2

                              
图3

图3的路径真奇葩,exe居然下面还有子路径,还不报错不过经过研究,
还是将原因研究出来了,下面就开始进入正题了。
首先,我生成exe文件用的是图4的生成方法,
原因是很好用,自动建立项目文件,对我这种懒人确实真好用。



                                图4
不过如果直接生成的化,还是有风险的。
其实我以前都是直接生成的,遇到这种问题估计也是迟早的事。
我也想到了项目的问题,可进去一查,如图5一样,依赖关系是正确的,唯一就是没有将txt文本放进去。


                          图5

我立马抓住这点,在我的电脑下吧把文件夹添加进去,如图6


                     图6

文件夹是加进去了,可没有了依赖关系,我有点担心在图7,我分别将主VI与子文件夹导进去,然后生成



                             图7

果然如预料的一样,还是错误。

是因为没有依赖关系的原因吗,虽然路径还是错的

生成的执行文件如图8


                          图8

Data文件夹中文件如图9


         图9


是窗帘状态.txt,为什么会有data这个文件夹,
我的文件夹不是子VI吗我想如果就将文本添加进去看看,
可是没有单个添加到文件夹的选项,
于是我就随便点点,就发现了一个叫做虚拟文件夹的东西,如图10

                           图10

我想,是不是运行的时候可执行程序,自己生成一个虚拟的文件夹?

正好可以解释这个奇葩的路径。

于是我就把两个文件加了进去,如图11


                    图11


可是和上一次运行的结果一模一样,我经过多次研究,其实它就等于新建文件夹在虚拟文件夹可以删东西了,只添加窗帘状态,发现还是一样的结果一时间似乎穷途末路就在这时,我无意发现了下图12的东西

                        图12


原来的路径最后是data,现在我将它改为子VI,然后生成生成的可执行文件如图13

                             图13


我看到子vi的目录,顿时狂喜,然后打开运行程序,



却发现依然不行子VI文件夹里还是一个文本文件到底是哪里的问题,
到底错误在什么地方呢我漫无目的寻找着,突然发现了个东西,如图14


图14

发现个支持目录,我就鬼使神差的选择了,然后在像以往一样生成发现成功了

最后我发现了不同的地方如图15


图15


文本文件读取这个子VI也出现了。
现在想想,生成exe真是个奇怪的设定,搞得跟破解密码似的
希望我的帖子能给大家一点建议。



发布的时候需要把DATA文件夹中的VI程序复制到目标机exe文件所在的文件夹中,否则运行EXE时会出现子程序查找定位对话框.
小编如果有兴趣可以继续研究vi库的创建和发布问题,发布一些精彩的贴子。

不会吧,我试过几次了,都没发生问题

把Data目录的下的子vi删除后,再运行exe主程序试一试.

这肯定不能删啊,

当然,如果你愿意,可以把exe和子vi一块发布。

谢谢小编分享经验

感谢小编分享经验

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top