请教 如何从主程序终止正在运行的子vi?
我的子vi运行时间比较长,而且是不进行界面显示的,这时候主界面就不能响应任何操作了,有没有什么方法能让子vi又在运行,主界面也相应用户操作呢?主要是能在主界面终止正在运行的子vi
非常感谢! 子程序独立运行:需要用vi server技术,先用open vi reference打开一个vi的ref,然后用这个ref的一个method:run vi来运行这个ref代表的子vi,在这个method里有两个参数,其中一个是wait until done,你输入false就可以了。。。
main终止sub:就是如何在main中把control boolean传递到sub的问题,或者更普遍点就是如何把parameter传递到sub。。。方法有:1、global variable2、在synchronization这个subpalatte下的一些技术,如queue、notifier等等 谢谢!我先去试一把
btw 2、在synchronization这个subpalatte下的一些技术,如queue、notifier等等,有没有详尽一点的说明或是参考书籍之类的?!
:handshake 用VI sever技术来控制子VI 的终止,这种参数从主VI 到子VI的传递比较麻烦,小弟不知道怎么实现,版主说用队列或者通知器的方法解决,能不能给几个例子呢?LV自带的例子好像没有涉及参数传递的问题。 :L 兄弟,我没说用vi server来传递参数,不过你一说我倒想起来,这样做确实可以,等下我传个例子。。其实viserver 在我的理解中,应该就是和c语言里的指针差不多吧,反正这话可能不是很通,但就是这样个意思了。。
附件有点问题,我不知道怎么把stop这个值传递过去,但我传了下Button OK这个,是可以传的,就是stop的传不了,奇怪中。。。
另外,如果在sub的get control value这个method里,把control name这个参数改为waveform chart,以便获取main里的chart数据,但是获得的数据也是错误的,奇怪中。。。。。
[ 本帖最后由 飞雨天 于 2007-6-19 19:27 编辑 ] 版主说的:“子程序独立运行:需要用vi server技术,先用open vi reference打开一个vi的ref,然后用这个ref的一个method:run vi来运行这个ref代表的子vi,在这个method里有两个参数,其中一个是wait until done,你输入false就可以了。。。 ” 这种方法好像只是让子VI独立运行,并没有涉及到主程序到子VI参数的传递吧。
版主的例子非常不错,演示了主程序到子VI数据的传递,小弟感谢啊。
页:
[1]