以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 终止进程报错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190572) |
-- 作者:puma -- 发布时间:2024/2/23 13:37:00 -- 终止进程报错 需求:在窗口里添加了一个按钮 循环执行, 现在需要终止这个循环。 方法:通过弹窗后,用公共变量终止循环。 或者有什么方法,解决窗口假死问题? Dim t0 As Threading.Thread t0=New Threading.Thread(Sub() Functions.Execute("打开窗口")) t0.start() 通过 t0.Abort() 终止进行,有下面的报错 \'打开窗口 Dim frm As WinForm.Form = Forms("终止窗口) Dim frmHight As int32 = 100 Dim frmWidth As int32 = 400 Dim Top As Integer = screenHeight - frmHight-100 Dim Left As Integer = screenWidth - frmWidth -25 \'msgbox(Top & " " & left) frm.open(left,Top) [此贴子已经被作者于2024/2/23 13:40:54编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/2/23 13:41:00 -- 不能在异步进程里使用Foxtable设计的窗口,也就是Foxtable设计的窗口只能同步在主线程里使用 |
-- 作者:puma -- 发布时间:2024/2/23 13:42:00 -- 怎么解决窗口假死问题? |
-- 作者:puma -- 发布时间:2024/2/23 13:45:00 -- 或者,在怎么在窗口里做一个启动和终止的按钮? 如果没有终止,启动后程序运行时间很长(1个小时,甚至更长),怎么手动终止?
|
-- 作者:有点蓝 -- 发布时间:2024/2/23 13:46:00 -- http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=184244 |
-- 作者:有点蓝 -- 发布时间:2024/2/23 13:52:00 -- 有些代码执行了是没有办法终止的。 一般是使用循环处理问题的时候才能终止,在循环体里判断。比如 vars(“停止”)=false for i as integer = 0 to 100
if vars(“停止”)=true exit for 其它费时的内容处理 Application.DoEvents next 然后停止按钮 vars(“停止”)=true 不过要注意的是使用了Application.DoEvents之后循环的效率会慢上好多倍
|
-- 作者:puma -- 发布时间:2024/2/23 16:32:00 -- 目前是通过弹窗,变更公共变量,可以正常终止。 就是程序运行完成后,这个弹窗不能自动关闭。(通过线程打开的,不然不能点击)
|