Foxtable(狐表)用户栏目专家坐堂 → 终止进程报错


  共有1535人关注过本帖树形打印复制链接

主题:终止进程报错

帅哥哟,离线,有人找我吗?
puma
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:358 积分:3005 威望:0 精华:0 注册:2023/6/7 16:07:00
终止进程报错  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/2/23 13:41:00 [只看该作者]

不能在异步进程里使用Foxtable设计的窗口,也就是Foxtable设计的窗口只能同步在主线程里使用

 回到顶部
帅哥哟,离线,有人找我吗?
puma
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:358 积分:3005 威望:0 精华:0 注册:2023/6/7 16:07:00
  发帖心情 Post By:2024/2/23 13:42:00 [只看该作者]

怎么解决窗口假死问题?

 回到顶部
帅哥哟,离线,有人找我吗?
puma
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:358 积分:3005 威望:0 精华:0 注册:2023/6/7 16:07:00
  发帖心情 Post By:2024/2/23 13:45:00 [只看该作者]

或者,在怎么在窗口里做一个启动和终止的按钮?
如果没有终止,启动后程序运行时间很长(1个小时,甚至更长),怎么手动终止?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/2/23 13:46:00 [只看该作者]

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=184244

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:358 积分:3005 威望:0 精华:0 注册:2023/6/7 16:07:00
  发帖心情 Post By:2024/2/23 16:32:00 [只看该作者]

目前是通过弹窗,变更公共变量,可以正常终止。

就是程序运行完成后,这个弹窗不能自动关闭。(通过线程打开的,不然不能点击)
图片点击可在新窗口打开查看

 回到顶部