|
最近写一个小程序,需要线程内载入窗口,由于是线程载入,线程结束后,窗口一闪就关了,不知道如何解决。
如果不用线程,又不知道如何结束一个运行中的子程序。
朋友说用死循环放在线程里,来保证线程不结束,调用的窗口也不结束,但这不是完美的解决办法,更何况,死环会造成程序不必要的负担,我不想用。
第二,线程句柄每次用结束线程句柄()命令,句柄的值不变,不能为0,那如何关闭这个句柄呢?
第三,线程内时钟事件如何结束呢?
我写了一个问题例程,请各位大侠仗义相助!!
问题.rar
(1.98 KB, 下载次数: 1)
[e]
.版本 2
.支持库 EThread
.支持库 spec
.程序集 窗口程序集1
.程序集变量 句柄, 整数型
.子程序 __启动窗口_创建完毕
启动线程 (&延时并提示, , 句柄) ' 要求启动后就延时’
.子程序 延时并提示
' ’载入 (窗口1, , 真)***********要求不用真
延时 (3000) ' 因为延时期间,要根据需要关闭这个延时,所以才用线程,方便关闭。如果能够关闭这个子程序,那就可以不用线程,窗口载入闪过的问题也解决了,但我不会。。。’
载入 (窗口1, , 真)
.子程序 _按钮1_被单击
调试输出 (句柄)
.如果 (句柄 ≠ 0)
调试输出 (句柄)
强制结束线程 (句柄)
标签1.标题 = “线程关闭。”
关闭线程句柄 (句柄) ' 这个命令也关不了句柄,而且每次句柄里都有值,从来不等于0,不知道为什么???’
.否则
标签1.标题 = “线程未关闭。”
.如果结束
[/e]
补充内容 (2014-2-28 13:00):
请将源码载入窗口命令的“真”,改为“假” |
|