redluis 发表于 2009-12-3 18:48:04

还是关于打包

换了新的版本(v8.5),也成功将vi及子程序build成exe文件,然后打包成setup,而且在没有lv的机器上成功运行...
问题是.....我这个vi程序中用到了数据保存,保存为excel文件,比如我现在需要将数据保存在相对路径为../data的目录下
....
好像生成可执行文件时只对vi文件有用,我再试着在打包的时候将空目录/data也放进去..结果解压的时候没有....

这下就郁闷了...再去查vi程序,发现了这样一句话:如vi将生成为一个应用程序,则该函数返回VI在应用程序中的路径并将应用程序视为一个VI库。
这句话想了半天也不理解....何谓vi在应用程序中的路径呢????那么在将vi编译成应用程序后,他运行的步骤是怎么样的呢???(是问exe文件和vi文件之间的转换,应该存在一个调用的过程..)
好了,最主要的..如何能在打包后,解压运行时,仍能正常保存数据到指定的路径里去......
继续拜求各位分析...=.=多谢

babycu 发表于 2009-12-5 22:49:48

LabVIEW8.x打包方法,以及如何将DLL及数据文件打包进去的详细教程!
http://www.cpubbs.com/bbs/viewthread.php?tid=62824&fromuid=143174

babycu 发表于 2009-12-5 22:50:09

http://www.cpubbs.com/bbs/viewthread.php?tid=13221&extra=page%3D1还有这个5楼,应该就是你要的问题答案

celine178852 发表于 2009-12-6 17:41:10

http://www.eefocus.com/labviewteam/blog/09-10/178939_804c0.html
这里 有详细的介绍

totototo 发表于 2009-12-8 22:35:46

LabVIEW8.x打包方法,以及如何将DLL及数据文件打包进去的详细教程!
http://www.cpubbs.com/bbs/viewthread.php?tid=62824&fromuid=155241

飞雨天 发表于 2009-12-9 12:25:14

get current vi's path这个函数是有点古怪的,导致build成exe之后会遇到一个问题,主要是提示说什么什么路径不存在之类的。我第一次遇到这个vi的时候,也曾经迷糊过,不过我做了一个实验,就清楚了,下面说下这个实验。(以后遇到迷糊的,可以自己设计一个实验来验证,当然,论坛也是很好的地方)
1、做个vi,后面板放get current vi's path,在这个函数输出点右键,create indicator;
2、保存你的这个example vi,比如保存到E:\labview work\test.vi(这里命名该vi为test.vi);
3、运行,在前面板的path indicator里会显示这个vi的路径,显然就是E:\labview work\test.vi;
4、把test这个vibuild成test.exe
5、把该exe放到test.vi同目录下,全路径就是E:\labview work\test.exe
6、运行这个exe,它会出来什么?是不是E:\labview work\test.exe???还是其它?自己试试,然后对照get current vi's path这个函数的help,就一目了然了。。。。
好运!!!

zjusantiago 发表于 2009-12-9 13:27:38

VI在应用程序中的路径就是应用程序的路径。
比如:当前VI的路径

打包成exe后运行该exe时,显示的路径

redluis 发表于 2009-12-9 15:59:37

谢谢楼上的兄弟们....
6楼的兄弟很关键..呵呵
我现在遇到一个新的问题.....情况是这样:我需要将一些运行中的数据保持在一个"/data"的空目录下(这个目录比较重要),但我试了几次都没有成功,即----如何将空目录打包在文件里.
我试过如下几种:

法1:在生成exe文件时,在项目里"添加文件录 data--->在"目标"--->"支持目录"里存放data空目录的路径..
结果是失败,即解压setup文件后没有data空目录..

法2:我在打包文件时,在"源文件"里添加文件"data"...
结果仍是失败,仍然解压setup文件后没有data空目录..

法3:我在这个data目录里添加一个文件"readme.txt",在生成可执行文件时,将"目标"---->"支持目录"的路径设置成"...\data",意思就是说把这个readme.txt文件放在这个设置好的目录下,这样,打包的时候会把这个目录包含进去...
结果是成功.....虽然如此,我要的结果是这样:readme.txt放在可执行文件同样的目录下,而数据保存在\data目录下(把数据和程序分开)...所以我觉得这仍不算成功...
我注意到,在生成exe文件时,"目录"--->"支持目录"下可以添加目标...试了几次没有成功....
再次求大家帮忙分析....多谢

redluis 发表于 2009-12-9 16:15:34

get current vi's path这个函数是有点古怪的,导致build成exe之后会遇到一个问题,主要是提示说什么什么路径不存在之类的。我第一次遇到这个vi的时候,也曾经迷糊过,不过我做了一个实验,就清楚了,下面说下这个实验 ...
飞雨天 发表于 2009-12-9 12:25 http://www.cpubbs.com/bbs/images/common/back.gif

嗯你的指点非常到位..在生成exe文件后,如果再执行这个函数,就是把这个exe文件当作一个目录了..也就是说此时get vi's path返回的是.../file.exe/file.vi,..多谢了..
页: [1]
查看完整版本: 还是关于打包