


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用XControl实现面向组件的编程XControl是LabVIEW8中出现的新功能。面向组件的编程(ComponentOrientedProgramming,COP)技术建立在对象技术之上,它是对象技术的进一步发展,类这个概念仍然是组件技术中一个基础的概念,但是组件技术更核心的概念是接口。组件技术的主要目标是复用粗粒度的复用。组件的核心是接口。LabVIEW为我们提供了大量漂亮的控件,可以让我们非常方便的就搭建出一个程序界面。然而,对于追求完美的用户,LabVIEW提供的为数有限的控件是远远不够的。比如图1,是LabVIEW8.2一个新功能,导入导入共享库向导的界面。在它右上方有四个按钮,这
2、四个按钮有着特殊的外观图标,在LabVIEW中没有直接提供这样的按钮。要拥有这样的按钮,并保存下来以供再次使用,就只能自己制作一个自定义控件。关于(用户自定义控件可以参考文章用户自定义控件中Control,TypeDef.和StrictTypeDef.的区别)图 1 : LabVIEW 8.2中 Import Shared Library的界面自定义控件虽然可以定义控件的外观,但无法定义控件的行为,功能复杂一点的控件,.ctl文件就爱莫能助了。还是以图1为例,它的IncludePaths控件是幺个”功能比较复杂的控件,它比LabVIEW自带的列表框多了编辑功能。用户添加或编辑一个路径时,这个控
3、件要为用户在所编辑的项目提供直接编辑使用的文本框,和浏览路径按钮。Listbox、一个实际上这个编辑功能是由三个LabVIEW提供的标准控件合作完成的:一个String和一个Button控件。他们的行为是在程序运行时决定的:当用户编辑控件中某一路径时,程序把String和Button挪到Listbox上需要编辑的那一项,并遮挡住Listbox原本的内容。这样,用户只能在String控件内输入内容,或者点击浏览按钮选择一个路径。编辑完成,程序把String控件的值写到Listbox上相应的项目中。我们虽然看不见图1例子中的程序框图,但是可以想象,上述的一系列操作,如判断String和Button
4、应当显示的位置、然后挪动它们、把String值传给Listbox,处理用户对他们操作的消息等等,会为这个程序添加不少复杂的代码。这些代码应该是与程序的其它部没有任何直接关系的。但是把它们也写在这个界面VI的程序框图上,一方面影响了程序的可读性,另一方面,编程人员有可能在更改程序其它问题是不小心改变了这部分代码,较低了代码的安全性。从逻辑关系上来看,图1中上半部分的Listbox、String、浏览按钮以及右上方四个操作按钮,他们共同完成一个功能,与他们之外的界面控件没有什么关联,所以他们七个应当被作为一个控件,或者说是一个组件。这个组件需要与程序其它模块之间的接口就只是一个字符窜数组,用于输入
5、或输出一组路径。其它的数据和操作,都应当是组件的私有的,外部不可见的。在LabVIEW8之前,想分离和封装出这样一个组件是非常困难的。因为既然这七个控件都在这个VI的面板上,对它们的操作和相应的代码必须放在这个VI的程序框图上,无法与其他代码隔离开。也不是说绝对没有办法,比如你可以使用sub-panel,动态注册事件等方法,强行的把它们的代码分隔开。但是这些方法并不简单直观,使用它们有可能会让程序变得跟为复杂、难以阅读和维护。XControl的出现,才终于为这个问题提供了一个比较完美的解决方案。利用XControl,图1中我们提到的七个应当划分在同一组件的控件可以被制作成一个XControl。
6、这个XControl的外观就是图1中上半部分七个控件组合在一起的样子,XControl与用户自定义控件相比,它不仅定义了控件的外观,更重要的是,开发人员可以通过编写LabVIEW代码定义XControl的行为。并且这些代码是对外隐藏的。开发人员还可以定义XControl的属性和方法,通过PropertyNode和InvokeNode在程序中使用这些属性和方法。同样完成选取一组路径的功能,可以有各种不同的界面,比如各种C+编译器都会提供类似的功能,但外观各不相同。你可以利用XControl,编写多个外观,行为大相径庭的组件。但是,只要他们的接口相同-都是一个字符串数组,用户就可以在这些组件内任意互换,选用自己喜欢的组件,而不需改动程序的任何其它部分。现在,我对XControl不太满意的地方是它还不支持用户自定义的事件。XControl具有封装的特性,因此我在利用LabVIEW工程库实现面向对象编程一文中提到同样可以使用XControl来达到面向对象的编程方法。但是X
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网贷平台的业务流程优化考核试卷
- 绢纺厂的智能化仓储与物流管理考核试卷
- 合成材料结构设计原理考核试卷
- 罐头食品行业绿色包装与环保材料应用考核试卷
- 大学数学量化考试试题及答案
- 胶合板在风力发电叶片的复合材料应用考核试卷
- 稀土金属冶炼与冶炼设备行业标准考核试卷
- 煤制液体燃料生产过程中的热量集成与优化考核试卷
- 焊工技巧考试试题及答案
- DB3303T083-2025沿海非设关地走私风险隐患点分级与防控措施
- 学校食堂管理员岗位职责
- 江苏省淮安市2023年中考化学真题试题
- SMT员工,工艺培训资料
- JB-T 14226-2022 机械密封摩擦材料组合的极限pcv值试验方法
- GB/T 3961-1993纤维增强塑料术语
- GB/T 21923-2008固体生物质燃料检验通则
- GA 1205-2014灭火毯
- 第9课 两宋的政治和军事 说课课件(共19张PPT)- 人教统编版高中历史必修中外历史纲要上册
- 安徽生源化工有限公司100000吨年萘磺酸甲醛缩合物、3000吨年铸造用固化剂、2000吨年二苄胺、200吨年氯丙酰谷氨酰胺项目环境影响评价报告全本
- 湖北省高等学校教学成果奖推荐书、申请简表
- DB62∕T 25-3111-2016 建筑基坑工程技术规程
评论
0/150
提交评论