子窗口关闭的时候,父窗口(整个程序)都被封闭,是什么原因

子窗口关闭的时候,父窗口(整个程序)都被关闭,是什么原因?
http://pan.baidu.com/s/1pJoEESz

PB9的代码,主要是网上下的,一个关于串口通讯的控件。

现在打开父窗口,再打开子窗口后,直接关闭子窗口,整个程序会被退出。

这个要如何处理?谢谢
------解决思路----------------------
可能是API调用类型不匹配造成
------解决思路----------------------
应该是控件有错误,退出时导致程序崩了。
------解决思路----------------------
重新找个串口的吧,不要纠结在这里了。
------解决思路----------------------
具体代码发出来呀!
------解决思路----------------------
因为子线程里有个死循环,加一个停止条件就好了,如图
子窗口关闭的时候,父窗口(整个程序)都被封闭,是什么原因
------解决思路----------------------
有时间看一下,应该和那个循环没有关系
------解决思路----------------------
仔细检查了一下代码,是和那个循环有关系,这个程序以前用过一次
以下以前修改后的代码
在uo_thread里声明实例变量boolean ib_open = true

of_start里代码如下:

long ll_i
do while ib_open
if isvalid(inv_arg) then
inv_arg.triggerevent("ue_thread")
sleep(100)
yield()
else
exit
end if
loop

uo_pb_comm里of_close代码修改为以下

if PortOpen then 
closehandle(iu_file)

yield()
PortOpen = false

if isvalid(uo_thread_pbcomm) then
uo_thread_pbcomm.ib_open = false
end if
end if

这样的话,通用性能好些
------解决思路----------------------
引用:
因为子线程里有个死循环,加一个停止条件就好了,如图
子窗口关闭的时候,父窗口(整个程序)都被封闭,是什么原因

其实这一句判断isvalid(w_main) 是不对的,目的是为了停止循环,楼主小心一下
------解决思路----------------------
引用:
改晕了。好像版主的办法还是可以的。就是不知道能不能取到数据。


可以的,以前做项目的时候用过这个东东