


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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贵州民族大学参加第十三届贵州人才博览会引才60人考前自测高频考点模拟试题及答案详解(典优)
- 2025年甘肃省酒泉市瓜州县博物馆招聘公益性岗位工作人员模拟试卷及一套答案详解
- 2025江苏苏州工业园区星慧幼儿园后勤辅助人员招聘1人模拟试卷及答案详解(有一套)
- 2025江苏苏州市吴江区引进教育重点紧缺人才12人考前自测高频考点模拟试题及答案详解(全优)
- 2025年安徽省文物考古研究所招聘12人模拟试卷及一套完整答案详解
- 2025年甘肃省平凉市泾川县丰台镇考聘大学生村文书模拟试卷及完整答案详解1套
- 2025年淮北濉溪县现代农业投资发展有限责任公司招聘5人考前自测高频考点模拟试题及参考答案详解一套
- 2025福建福州市罗源县社会救助协管员招聘1人模拟试卷(含答案详解)
- 2025海南三亚中心医院(海南省第三人民医院)校园招聘38人模拟试卷及答案详解(必刷)
- 2025年2月广东广州市海珠区人民法院招聘劳动合同制法官助理、书记员招聘拟聘人选模拟试卷及参考答案详解一套
- 发电机的工作原理
- 道德与法治课件《我们神圣的国土》课件(34张)
- 计算与人工智能概论(湖南大学)知到智慧树章节答案
- GB/T 44625-2024动态响应同步调相机技术要求
- 2024年辽宁省大连市政公用事业服务中心招聘雇员8人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 25《王戎不取道旁李》 教学设计
- 2024年咨询工程师继续教育城市轨道交通工程可行性研究报告编制方法考试答案
- 【项目方案】源网荷储一体化项目(储能+光伏+风电)规划报告
- 咖啡因实验报告认知功能与记忆力评估
- (正式版)SHT 3075-2024 石油化工钢制压力容器材料选用规范
- 各类质谱仪的优缺点分析 质谱仪解决方案
评论
0/150
提交评论