微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > 请教关于LabVIEW里面的ActiveX iTreeView的使用问题

请教关于LabVIEW里面的ActiveX iTreeView的使用问题

时间:12-13 整理:3721RD 点击:
请教如何使得读入的树形图是全部展开显示?现在是只显示根结点,属性和调用也都找过了,没找到;如果用LabVIEW里的Tree control倒是可以设置,不知道iTreeView可不可以?
谢谢~

不懂,没用过,科普一下

In the property list of a tree, there is an item called "open?" under "Active Item". Setting it to TRUE for all the tags will open the whole tree. The attached example (LV 7.1) shows how to traverse a tree and then open or close the items.

 travers_open_tree.zip

你用的也是Tree Control,这个是可以的 我是想用ActiveX控件的Tree实现,不过还是要谢谢你!

抱歉没有十分理解你的原意。
在下孤陋寡闻,不知iTreeView为何物,既然要用到ActiveX, 想来是其他应用程序的,原闻其详,还请不吝赐教。

呵呵,都怪我文章里面没有说清楚。
我做这个不用到其他应用程序 只是要保持Tree Control的内容是跟一个配置文件相关联随时更新的,LabVIEW凑巧有一个ActiveX tree的例程,我本来想借用一下,可是就因为它默认不是展开的所以最后舍弃了,还是用的Tree Control。
另外,请教另外一个问题:
我现在做的一个东西是三种方式发送网络数据,分别是历史数据文本方式,人工设定运动轨迹,手柄操纵杆;而且要实现随时能够停止发送数据;我现在采用的是事件结构,可是这个不行:以手柄操纵杆为例,点击“手柄控制方式”即进入处理该item的value change框图程序,该程序又必须是一个循环(随时捕捉操纵杆数据按一定祯率发送),所以出现了无法跳出无法停止发送的问题。
请帮我看看有什么办法解决?动态事件结构似乎也不行,我试图避免在事件结构里面使用循环,但是现在还没有好的试验结果。另外,是不是需要使用多线程的技术?我看了一些觉得也没有太多思路。
请指教,也欢迎大家赐教讨论:)

你的思路和想法都对。
一个商业软件,最好不要把核心的算法和程序放在主程序里。因为做商业软件免不了遇到用户界面和很多其他其实与核心功能无关的东西。用个比喻来说,一个系的主要工作是教学和科研,主程序就像一个传达室大爷,或者系秘书,他们只负责与教学科研平行的日常工作。其他与日常工作无关的,而且是平行的功能,最好用动态调用。
当一个软件牵扯到的头绪比较多的时候,不可避免地要用到多线程。你说的现象好像说,我从系秘书那里借一个投影仪,然后我去做我的报告,秘书依然要做他的工作,这两者是平行的;我做完报告,把投影仪还给秘书,他要了解我已经还了。
主程序里面点一个按钮,就是我借走投影仪,这当然可以用event loop来实现。我作报告怎样与秘书的工作要互不干扰,这种情况要使用weakly dynamic call, setting "Wait Until Done" as Fault. 这样的话秘书不必等我还了投影仪才能去做他的其他工作。
还有一个问题,在程序里我怎样才能告诉秘书投影仪已经还了呢?首先,主程序里除了有处理“借”的程序,还要能够处理“还”。在被动态调用的程序这边至少有两个办法。一个是用VI server找到主程序中对应的按钮,发一个Value (signaling), 请看我在2006年12月11号发的14300。另一个办法,如果你的主程序用Producer/customer pattern,在被动态调用的程序结束前向主程序的Queue里面写一个“还”的消息,主程序的Queue收到这个消息之后就会作相应的动作。

这两天出去玩了 先Re后看!

呵呵..感觉有点太高深了,我听不太懂;(我把程序贴出来,你看看,主要问题是各个功能发送所对应的事件处理程序都是一个循环(虽然实际上事件结构内有循环就是个问题),这是没有办法的事情--因为点击发送之后才会实时采集数据-》成帧-》发送,当然希望有更巧妙的方法来做。在下比较拙笨,还请高手多多指教!

 Main.vi

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top