下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用XControl实现面向组件的编程XControl是LabVIEW 8中岀现的新功能。面向组件的编程(Component Oriented Programming, COP )技术建立在对象技术之上它是对象技术的进一步发展,类这个概念仍然是组件技术中一个基础的概念,但是组件技术更核心的概念是接口。组件技术的主要目标是复用粗粒度的复用。组件的核心是接口。LabVIEW为我们提供了大量漂亮的控件,可以让我们非常方便的就搭建出一个程序界面。然而,对于追求完美的用户,LabVIEW提供的为数有限的控件是远远不够的。比如图1,是LabVIEW 8.2 个新功能,导入导入共享库向导的界面。在它右上方有四
2、个按钮,这四个按钮有着特殊的外观图标,在LabVIEW中没有直接提供这样的按钮。要拥有这样的按钮,并保存下来以供再次使用,就只能自己制作一个自定义控件。尖于(用户自定义控件可以参考文章用户自定义控件中 Control. Type Def. 和Strict Type Def.的区别)图 1 : LabVIEW 8.2 中 Import Shared Library 的界面自定义控件虽然可以定义控件的外观,但无法定义控件的行为,功能复杂一点的控件,-ctl文件就爱莫能助了。还是以图1为例,它的Include Paths控件是一个”功能比较复杂的控件,它比LabVIEW自带的列表框多了编辑功能。用户
3、添加或编辑一个路径时,这个控件要为用户在所编辑的项 目提供直接编辑使用的文本框,和浏览路径按钮。String和一个Button控件。他们的行为是在程序运行时决定的:当用户编辑控件中某一路径时,程序把String和Button挪到Listbox上需要编辑的那一项,并遮挡住Listbox原本的内容。这样,用户只能在 String控件内输入内容,或者点击浏览按钮选择一个路径。编辑完成,程序把String控件的值写到Listbox 上相应的项目中。我们虽然看不见图1例子中的程序框图,但是可以想象,上述的一系列操作,如判断String和Button 应当显示的位置、然后挪动它们、把String值传给Li
4、stbox,处理用户对他们操作的消息等等,会为这个 程序添加不少复杂的代码。这些代码应该是与程序的其它部没有任何直接尖系的。但是把它们也写在这个 界面VI的程序框图上,一方面影响了程序的可读性,另一方面,编程人员有可能在更改程序其它问题是 不小心改变了这部分代码,较低了代码的安全性。从逻辑尖系上来看,图1中上半部分的Listbox、String、浏览按钮以及右上方四个操作按钮,他们共 同完成一个功能,与他们之外的界面控件没有什么尖联,所以他们七个应当被作为一个控件,或者说是一 个组件。这个组件需要与程序其它模块之间的接口就只是一个字符窜数组,用于输入或输出一组路径。其 它的数据和操作,都应当是
5、组件的私有的,外部不可见的。在LabVIEW 8之前,想分离和封装出这样一个组件是非常困难的。因为既然这七个控件都在这个VI的 面板上,对它们的操作和相应的代码必须放在这个VI的程序框图上,无法与其他代码隔离开。也不是说 绝对没有办法,比如你可以使用sub-panel,动态注册事件等方法,强行的把它们的代码分隔开。但是这些 方法并不简单直观,使用它们有可能会让程序变得跟为复杂、难以阅读和维护。XControl的出现,才终于为这个问题提供了一个比较完美的解决方案。利用XControl,图1中我们提 到的七个应当划分在同一组件的控件可以被制作成一个XControl。这个XControl的外观就是图
6、1中上半 部分七个控件组合在一起的样子,XControl与用户自定义控件相比,它不仅定义了控件的外观,更重要的 是,开发人员可以通过编写LabVIEW代码定义XControl的行为。并且这些代码是对外隐藏的。开发人员 还可以定义XControl的属性和方法,通过Property Node和Invoke Node在程序中使用这些属性和方法。同样完成选取一组路径的功能,可以有各种不同的界面,比如各种C+编译器都会提供类似的功能, 但外观各不相同。你可以利用XControl,编写多个外观,行为大相径庭的组件。但是,只要他们的接口相 同都是一个字符串数组,用户就可以在这些组件内任意互换,选用自己喜欢的组件,而不需改动程序的任 何其它部分。现在我对XControl不太满意的地方是它还不支持用户自定义的事件。XControl具有封装的特性,因此我在利用LabVIEW I程库实现面向对象编程一文中提到同样可 以使用XControl来达到面向对象的编程方法。但是XCon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025邢台银行股份有限公司邯郸曲周支行招聘14人备考题库(含答案详解)
- 2025巴彦淖尔市磴口县第三批社区工作者招聘60人备考题库含答案详解(综合卷)
- 2025年安阳市公安机关招聘留置看护辅警46人备考题库完整参考答案详解
- 健康信念模式提升糖尿病筛查依从性策略
- 四川省自然资源资产储备中心2025年公开考核招聘专业技术人员笔试考试参考题库及答案解析
- 中国建设银行上海市分行2026年度校园招聘备考题库(450人)及答案详解(典优)
- 2026东莞银行秋季校园招聘备考题库含答案详解(轻巧夺冠)
- 2026“梦想靠岸”招商银行东莞分行冬季校园招聘备考题库附答案详解(突破训练)
- 2025年甘肃省武威市民勤县收成镇人民政府选聘专业化管理村文书备考题库附答案详解(夺分金卷)
- 2025广东省机场管理集团有限公司工程建设指挥部招聘备考考点题库及答案解析
- 眉山市乡科级领导干部政治理论水平考试测试题库单选1
- GB/T 18711-2025选煤用磁铁矿粉试验方法
- 上消化道出血疾病宣教
- T-CECRPA 015-2025 跨黄河中上游公路斜拉桥绿色低碳建造评价标准
- 学堂在线 大数据机器学习 章节测试答案
- 红十字理论试题及答案
- 快递客户维护与开发课件
- 少年读史记帝王之路课件
- 2025年小学英语毕业考试模拟卷(英语综合实践)英语歌曲填词训练
- 2025年全国出租车从业资格考试模拟复习题库及答案(共500题)
- 知道智慧树中国茶文化与茶健康课后章节测试满分答案满分测试答案
评论
0/150
提交评论