LabVIEW论坛
直播中

贺长江

1年用户 11经验值
擅长:测量仪表
私信 关注
[问答]

关于LABVIEW 生成EXE后 动态调用外部VI的问题

image.png
ADD.VI :是我需要调用的VI
应用程序.EXE :是我项目里面把 "调用DLL.VI" 生成的exe文件

我没有编译exe前去调用add.VI是没问题的,但是我生成EXE调用既不可以, 因为我调用的VI是不确定的所以不能打包进项目里面 是单独的。
有没有大佬知道方法啊重金感谢!
我按照网上办法尝试去修改配置文件 也不行
image.png

*附件:DLL生成和导入.zip

已退回20积分

回帖(5)

jf_47455012

2025-8-1 14:16:48
我看了一下ADD.vi,发现内部有个打开串口的vi

我不太清楚这个的作用是什么,但如果没有实际的com口是会导致报错的
所以在调用vi中调用ADD.vi时输出的也是个错误

生成可执行文件时可能因为报错导致不显示结果
解决方法如下:
将ADD.vi中的打开串口vi给去掉;

或者使用可用的串口号,并ADD.vi连接输入端子,在调用vi中也要连接输入;
目前第一种方法可用,第二张方法没试过,仅供参考
2 举报
  • 贺长江: 是这样的  我放入串口是为了模拟调用其他VI时候设计到一些VISA操作  前几天弄了好久网上找人花200快远程搞了半天都没有弄好  后边我去ni官网看到了方法了,其实EXE动态调用 不确定的VI 只要把VI编译成打包库然后再去调用就可以了。  目前我只找到这样一种办法
  • 贺长江: 我看官网上说的是,因为没有编译的VI是不能给编译后的EXE调用的 ,很多人都是把VI放入文件夹 添加到依赖项里面这样才能保证准确调用,但是设计到的问题就是每次改动都会重新编译exe非常麻烦 不适合多人协作。

jf_47455012

2025-8-1 14:24:37
我发现ADD.vi里面有个打开串口的子vi

这个没有对应的实际串口会导致报错

虽然算出来的结果是对的,但有个错误会输出出来
因此在调用vi中也会报错,虽然结果也是错误的
生成可执行文件后内部可能没有处理错误的,导致结果没有显示
解决方法如下:
1、ADD.vi中去掉打开串口子vi
2、如果要使用打开串口vi,则需要有对应的实际串口号,在ADDvi中连接串口控件的端子;在调用vi连接输入端子;
目前第一种方法是有效的,第二张方法没试过。
举报

贺长江

2025-8-7 18:03:46
据我多次验证,如果已经编译的的EXE想去调用 新写的VI 只能通过把vi编译成打包库。然后再去通过VI引用函数调用 ,没有编译的VI 貌似不能调用,主要是如果你VI里面设计到一些系统子VI 依赖项,那么要想实现调用就只能通过以上方式。目前我只找到这种解决方式
举报

更多回帖

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