LabVIEW的Framework(6):GUI程序框架实例
2009-02-25 22:56
309 查看
前面把lv里面的框架相关元素都基本介绍了一下,现在做一个完整的例子,体会一下框架是如何工作的。这个框架结构是我在具体的实践中总结出来的,也还在不断的摸索完善。刚开始的时候发现用框架感觉有点变扭,但是当程序开始变大以后,有框架还是能好很多,省很多事情,让代码好看和高效很多的。
程序共有三个循环:界面循环,数据产生循环,数据记录循环。三个循环在初始化阶段,所做的初始化工作都是获取消息通知器和队列。在所有的Obtain Notifier的name属性都是CMD,每个循环都会获取对名字为CMD的消息通知器的引用。对于队列也是一样的。注意一下,给Release Notifier的force destroy赋予了true,而Release Queue的则没有。这是由于这两个Release只是释放的对消息通知器或队列的引用,并没有销毁对应的消息通知器或队列,只有所有的引用都释放了之后,lv才会自行销毁对应的消息通知器或队列。在程序里,对数据产生循环和数据记录循环的控制是通过对消息通知器操作的错误来控制的,因此在界面循环后面的Release Notifier执行时需要将消息通知器销毁,这样就能控制另两个循环的停止;对于队列,则没有这个要求,也就不需要赋予true了。
其它需要注意的方面主要有:
1、消息通知器传递的Enum,第一个元素是Stop。这是由于在消息通知器创建后,还没有送入任何通知的时候,Get Notifier Status获取的元素就是第一个元素。因此,第一个元素为Stop,防止在刚开始的时候,程序就跑飞了。
2、在查看消息通知器里的消息的时候,使用的都是Get Notifier Status,原因有两个:一是消息通知器是两个循环共用的,不能由其中一个把消息取出;二是在两个循环进入产生数据或记录数据的工作状态后,都是需要查看消息来确定是否结束回到Idle状态,因此也不能把消息取出。
3、我也说不出太多了,还是得在实践中慢慢体会其中的细微之处。我的肯定不是最好的,还需要自己在实践中多研究完善。
程序共有三个循环:界面循环,数据产生循环,数据记录循环。三个循环在初始化阶段,所做的初始化工作都是获取消息通知器和队列。在所有的Obtain Notifier的name属性都是CMD,每个循环都会获取对名字为CMD的消息通知器的引用。对于队列也是一样的。注意一下,给Release Notifier的force destroy赋予了true,而Release Queue的则没有。这是由于这两个Release只是释放的对消息通知器或队列的引用,并没有销毁对应的消息通知器或队列,只有所有的引用都释放了之后,lv才会自行销毁对应的消息通知器或队列。在程序里,对数据产生循环和数据记录循环的控制是通过对消息通知器操作的错误来控制的,因此在界面循环后面的Release Notifier执行时需要将消息通知器销毁,这样就能控制另两个循环的停止;对于队列,则没有这个要求,也就不需要赋予true了。
其它需要注意的方面主要有:
1、消息通知器传递的Enum,第一个元素是Stop。这是由于在消息通知器创建后,还没有送入任何通知的时候,Get Notifier Status获取的元素就是第一个元素。因此,第一个元素为Stop,防止在刚开始的时候,程序就跑飞了。
2、在查看消息通知器里的消息的时候,使用的都是Get Notifier Status,原因有两个:一是消息通知器是两个循环共用的,不能由其中一个把消息取出;二是在两个循环进入产生数据或记录数据的工作状态后,都是需要查看消息来确定是否结束回到Idle状态,因此也不能把消息取出。
3、我也说不出太多了,还是得在实践中慢慢体会其中的细微之处。我的肯定不是最好的,还需要自己在实践中多研究完善。
相关文章推荐
- LabVIEW的Framework(2):GUI程序
- LabVIEW的Framework(3):在GUI程序里使用消息队列
- LabVIEW的Framework(4):在GUI程序里传递数据
- 让.Net程序脱离.Net Framework框架运行(转)
- 让.Net程序脱离.Net Framework框架运行
- 构建自己的代码库及软件开发不能是加工作坊--及一个简单的Linux C程序开发框架—linux-dev-framework
- RDIFramework.NET-.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(MVC版)
- [Java GUI] 简易Java绘图程序实例
- 一个简单的Linux C程序开发框架—linux-dev-framework
- 如何让.Net 程序脱离.net framework框架运行
- 不安装.net framework框架运行.Net 程序的方法<收藏>
- 带reportView的winform程序在部署安装的时需要装两个框架,一framework框架二就是reportviewer的安装包
- 让.Net 程序脱离.net framework框架运行
- 第2课 GUI程序实例分析
- 富盛Sbo Add-on程序开发框架Ver 1.0.1及其开发实例下载
- Windows下C#的GUI窗口程序中实现调用Google Map的实例
- 让.Net 程序脱离.net framework框架运行
- Android OpenGL ES(六):创建实例应用OpenGLDemos程序框架
- 微信小程序 框架详解及实例应用
- Android OpenGL ES(六)创建实例应用OpenGLDemos程序框架 .