exe运行时怎么显示这玩意儿?
感觉是源程序里用了current vi path 节点?
是的,因为要调用目录,但是以前也用过这个节点,没发现这样的问题呀
这个节点在生成exe时容易产生问题,因为生成可执行文件之后目录会有变化,
所以最好还是不要用
那目录问题如何解决?
是否加一个提示框让使用者定位?
help里有详细说明
不好意思,没找到,能给个关键词什么的么?
current vi's path 在生成exe后输出的跟编辑时不太一样
自己仔细看看咯,draw\draw.exe\.....vi
也就是说,打包以后,*.exe是作为一个文件夹一样存在的,明白了么?
有几种办法可以解决:
1.如果用了current vi path,那么打包的时候再strip一次,把exe那个strip掉,这种办法比较土点,但是可以用
2.根据当前运行的环境来选择路径,run time和development环境会差那么一级目录,其实就是上述方法的变种。至于这个环境怎么选择,在这里好像不太好说清楚,你可以上NI网站去搜,或者在群里问。
3.在file I/O下有个VI有这么一个功能,判断该路径是不是文件夹,虽然exe也算一级目录,但是它本身不是文件夹,因此用这个vi也可以达到你的目的。具体哪个你自己找找
哦,你说的是这个啊。
OK,我知道这东西,而且在写程序的时候我已经避开这个问题的
我的意思是,我编译好的exe文件在运行时怎么还显示这个search窗口,虽然一般过了几秒钟以后就进入运行状态了,但是之前的这个search一来难看,二来我担心某人点击了stop之类的按钮以后,exe就起不来了
是不是在编译时有哪个选项是控制不显示这个的?
没遇到过……
你的程序里有啥特殊代码?
应该没啥吧……
我贴个exe,看看在别的机器上会不会也这样?
8.5版的
也找
如果想让大家来帮忙解决,那就贴代码,否则我们也确定不了原因
附件是我用的一个子vi的代码,通过current path得到relative path,
其实我不是很认为是代码的问题,因为提示框是在loading的时候出现的,而loading结束后就进入正常的运行界面了,感觉上好像是labview或者Run time的问题
如果贴代码的话,牵扯到的subvi太多了,要贴哪个部分的呢……
奇怪……
问题不在这里,那个load是找用到的vi的,不是程序里用到啥path的问题
它似乎把我有用到的vi都找了一遍
再强调一下,问题不在于"没找到某个vi",而在于"找vi的过程它不应该显示出来"
至于源代码,我估计要把整个project打包上来了……
唉,还不至于不知道你强调的是啥。。。。
嘿嘿
难道真要把整个project打包上来?
那啥,下午出差,这周日我再找你吧,看来是要大大地麻烦你一下了
所有文件都在原位的话,就不会出那个框了吧?
不是这样的,我运行了他上传的exe,还是有那个框
我觉得是在vi调用上设置有点问题,或者是编译选项没处理好
奇怪的是缺了个dll居然运行没问题……
我的意思是,不要把原来用VC写程序的习惯想当然的简单推论到lv上,编译的时候生成一个exe项目,在目标文件夹下会有不少文件,NI的人不是傻子,不会在目录下放那么多没用的文件在那的
嗯,现在觉得也是了
当初在labview360上看别人的帖子说得只有exe来的……
话说,.aliases文件是用来干什么的?
一个xml格式的文件,可以用记事本打开看看的