完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
大伙好: 我想问一下labview有没有这样的对话框,我的父VI调用对话框以后不需要等待对话框结束依然可以运行我的父VI。也就是一个提示框的功能。如果采用引用的方式来用的话比较麻烦如下图。大伙有没有比较简单的方案? |
|
相关推荐
2个回答
|
|
这个问题我以前先想了很久,有三种实现方法。
①把这个系统对话框,放在另一个线程里,那么你的主线程不会停住 ②异步调用对话框vi ③你说的这个调用方法 那么最后我是用1来做的,因为其他两个蛋疼一点,你自己做的对话框vi,难看到爆炸。而且如何文本框居中,如何自动调节对话框宽度、高度,都很难做。看起来简单的系统对话框,背后的东西复杂得很,很难实现。 但是这个也有解决办法,系统vi里有一个“3按钮对话框”,这个是开源的,你可以把这个另存一下,然后在这个基础上改成你想要的vi。(这里我当时一直想找到这个“单对话框vi”的开源内容,找不到,不知道有没有大神知道) 回归主线,对话框是否覆盖,是否需要卡住线程,深入之后确实有很多讲究。有些对话框比较重要,一定要覆盖其他的对话框。有的虽然是“单按钮对话框”(单按钮与双按钮的区别,一个只是提示,一个需要卡住等待回复),也最好要让用户钮看清楚看明白了之后,才能继续后续操作。这些情况都会有的,对话框的合理运用,其实很难。 我自己也没有十分完美的解决方案,想给对话框一个分级思路(低级不能覆盖高级),但是很折腾就放弃了。后来觉得有些地方卡在那也没关系,因为对话框显示的时候,本来就无法进行其他鼠标操作,发生冲突的概率并不高,但是在main线程里,这种冲突还是经常有的,可以复现的,我想提问题的兄弟也是遇到了这种问题。因此,我有一个自己的约定,主要vi的main线程里,不放置“单按钮对话框”,除非是上文讲的,需要用户看清楚了再操作的情况,如果需要展示对话框,就用另一个线程展示出来,这个线程里的对话框,无法自我覆盖(消息队列框架,如果我的框架你完全不清楚,那我说的就当废话了)。那么这样可以解决大部分问题了,另外有个技巧,在其他线程里,如果有的提示十分重要,那么就是用系统对话框,保证可以覆盖当前对话框。 大概就是这么多,写得很杂乱,也是我自己边写边思考,欢迎讨论
最佳答案
评分
|
||
4 条评论
|
||
以前倒是做过一个subvi message box使得父vi停止运行的
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
1675 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1274 浏览 0 评论
1486 浏览 0 评论
关于labview2024版本的lvanlys.dll出错的问题
2825 浏览 2 评论
1420 浏览 2 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:50 , Processed in 0.629709 second(s), Total 97, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号