石鑫华视觉论坛微信公众号:石鑫华视觉

 找回密码
 注册会员
查看: 44108|回复: 103

[原创] LabVIEW退出程序

  [复制链接]
  • TA的每日心情

    10 小时前
  • 签到天数: 3146 天

    连续签到: 16 天

    [LV.Master]2000FPS

    发表于 2017-2-17 15:45:17 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    LabVIEW退出程序
    LabVIEW退出程序,有多种实现方法。一种是使用布尔量来退出;另一种则是使用关闭窗口按钮来实现。这些方法,各有其优缺点。下面来看一下:
    游客,如果您要查看本帖隐藏内容请回复
    布尔按钮退出LabVIEW程序
    上面的这个例子,是在NI LabVIEW的模板基本上修改的。将入元素内容去掉了,只保留了停止按钮。通过点击停止按钮,来退出程序。生产者消费者模板中,点击停止按钮后,只是停止了程序,并不会关闭函数面板。如果是这样,生成EXE后,也会有同样的问题,只会停止程序,而不会关闭退出程序。所以在此基础上,在最后添加了VI方法FP.Close前面板关闭节点。当退出程序后,生产者停止,队列释放后,则会执行关闭前面板的方法。这样就可以将窗口关闭了。这种方法,在LabVIEW编程中,比较实用,但是没有使用窗口的关闭按钮,与一般的软件在操作上略有不同。
    游客,如果您要查看本帖隐藏内容请回复
    窗口关闭按钮退出程序
    上面的方法,则是响应窗口的关闭按钮事件。注意,这里使用的是前面板关闭?带询问的事件,即用户是可以放弃不关闭的。另外还有一个关闭前面板事件,那个就直接关闭面板了,而不会向用户确认。一般我们建议使用带确认的,只有当用户确实要退出时,才退出。
    这里因为是直接响应关闭前面板,并且根据确定、取消来选择是否放弃或退出,在最后也就不需要再添加FP.Close方法。这种方法,符合一般的Windows程序的关闭方式。但是可以看到,这样做的话,在确认关闭掉,VI或程序就会在释放队列后直接退出了,而如果在退出前仍然要保存一些数据,如最后使用的一些参数,特别是测试测量领域,可能会有不同的测试产品配置文件,需要保存,或者将最后登录的用户名保存下来。这时就需要再对这种退出方法进行改善:
    游客,如果您要查看本帖隐藏内容请回复
    窗口关闭按钮保存数据退出程序
        上面的图所示的方法,仍然会使用窗口的关闭按钮,但是这里的放弃?一直使用真值,即不管用户是点击确定还是取消,都是放弃的。而到底要不要退出,则由用户选择后的条件再做判断。如上图所示,确认退出后,则会执行一次退出入队列,在退出的消费者中,可以添加必要的保存数据功能,例如将最后的参数保存下来,登录的用户保存下来等。在队列释放后,在后面添加了FP.Close关闭前面板方法。同时,在释放队列前强制加了一个延时。这个延时的作用,是为了让退出消费者有足够的时间来执行。很多时候,在退出消费者中,会有很多内容,如图像缓存释放,硬件资源的关闭,数据保存等。有些功能可能比较耗时,所以需要在关闭窗口前加入延时,能让退出消费者完成。如果没有延时,那么释放队列关闭前面板的过程,执行会很快,一般都会比退出消费者更快执行。而且,如果释放队列先执行,那么退出消费者,将有可能没有得到执行。所以,上面的方法三是比较适合的一种退出LabVIEW程序的方法。当然方法一中,也是需要考虑退出消费者与延时这样的问题的。考虑了这些问题,使用方法一也是可以的。
    另外,还可以在必要的退出位置,添加退出labview函数(编程》应用程序控制),这样也会退出labview。不过这种方法,也要区分开发环境和运行环境。如果是在开发环境调用,则直接退出labview了,要继续开发还得重启labview比较麻烦。
    源代码下载:LabVIEW2014SP1
    游客,如果您要查看本帖隐藏内容请回复
    回复

    使用道具 举报

  • TA的每日心情

    2022-9-5 22:33
  • 签到天数: 62 天

    连续签到: 1 天

    [LV.6]600FPS

    发表于 2017-4-8 22:57:13 | 显示全部楼层 来自:山西省晋中市榆次区 联通
    s接关闭面板了,而不会向用户确认。一般我们建议使用带确认的,只有当用户确实要退出时,才退出。
    这里因为是直接响应关闭前面板,并且根据确定、取消来选择是否放弃或退出,在最后也就不需要再添加FP.Close方法。这种方法,符合一般的Windows程序的关闭方式。但是可以看到,这样做的话,在确认关闭掉,V
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-5-18 19:04
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]300FPS

    发表于 2018-2-1 09:50:24 | 显示全部楼层 来自:浙江省温州市 电信
    kankan                              
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-7-3 10:27
  • 签到天数: 19 天

    连续签到: 1 天

    [LV.4]400FPS

    发表于 2021-2-25 15:13:17 | 显示全部楼层 来自:广东省深圳市 电信

    LabVIEW退出程序
    LabVIEW退出程序,有多种实现方法。一种是使用布尔量来退出;另一种则是使用关闭窗口按钮来实现。这些方法,各有其优缺点
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2022-10-21 06:36
  • 签到天数: 1635 天

    连续签到: 1 天

    [LV.Master]2000FPS

    发表于 2017-3-8 09:34:00 | 显示全部楼层 来自:广东省东莞市 电信
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-4-14 22:55:07 | 显示全部楼层 来自:上海市 电信
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2022-12-4 14:54
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]300FPS

    发表于 2017-6-12 17:55:51 | 显示全部楼层 来自:浙江省宁波市 电信
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-6-16 08:44:23 | 显示全部楼层 来自:江苏省苏州市 电信
    华视自动化http://shixinhua.com,工业相机、工业镜头、机器视觉光源、光源控制器、图像处理、系统集成服务商
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-5-20 01:56
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]300FPS

    发表于 2017-6-29 08:44:08 | 显示全部楼层 来自:湖南省长沙市 电信
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2022-8-20 16:26
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]300FPS

    发表于 2017-7-1 23:20:47 | 显示全部楼层 来自:江苏省 移动数据上网公共出口
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2023-11-27 15:42
  • 签到天数: 138 天

    连续签到: 1 天

    [LV.7]700FPS

    发表于 2017-7-10 13:36:27 | 显示全部楼层 来自:江苏省苏州市 电信
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(第二版)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23
    LabVIEW图像处理教程
    机器视觉商城淘宝店铺
    视觉论坛充值赞助方法

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-3-19 18:45

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表