LabVIEWwilliam hill官网
直播中

he282942873

10年用户 101经验值
擅长:电源/新能源 测量仪表
私信 关注
[问答]

labview动态调用生成 EXE找不到子VI

我在使用动态调用时在开发环境下使用正常,生成EXE后报错找不到子VI,如图
一个是生成EXE后调用文件路径和我实际文件(生成EXE后拷贝过去的)存放路径一致,试了很多种方法一直没找到根本原因在哪儿,请教下各位在大侠在动态调用时有没有碰到过此类问题。



补充内容 (2016-12-31 18:16):
我的问题目前还没有解决掉,最终看了下应该是依赖关系中的Vi影响。
Krize这位兄弟的讲解的非常详细,应该能解决很多朋友动态调用Vi时碰到的这个问题。也非常感谢其他各位朋友的热情解答。另外的分享下我在程序中怎么处理是否是开发环境和运行环境路径问题。答案放在最后吧,不知道补充中怎么帖图,抱歉。
  • 2.jpg
  • 1.jpg

回帖(12)

krize

2016-12-28 09:57:14
楼主没搞明白一件事情:exe状态下和开发环境下调用的并不是同一个VI, exe也无法直接调起来开发环境下的VI,它调用的是经过编译后的代码。看完下面这个图楼主应该知道问题出在哪了:
1.PNG
Main.vi里只是调起来了一个test1.vi的子vi,这个子Vi输出的是自己的路径,用的最简单的“当前VI路径”函数。
如果在exe里进行动态调用,必须使用相对路径,下图提供两种方法来获取路径:
2.PNG
另外生成exe时注意把要动态调用的VI放在”始终包含“里。
举报

樊浩

2016-12-28 10:08:10
调试状态,和生成exe后路径会变化
举报

he282942873

2016-12-28 10:11:51
引用: 左耳朵的耗子 发表于 2016-12-28 10:08
调试状态,和生成exe后路径会变化

在程序内已经处理过了,我调用Ini文件是对的,但调用子Vi时却报错
举报

王治

2016-12-28 10:21:04
动态调用找不到子vi很显然是路径问题,生产exe后本来就会多一层EXE文件夹,多拆分一次路径试试
举报

更多回帖

发帖
×
20
完善资料,
赚取积分