Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:终止进程报错

1楼
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编辑过]
2楼
有点蓝 发表于:2024/2/23 13:41:00
不能在异步进程里使用Foxtable设计的窗口,也就是Foxtable设计的窗口只能同步在主线程里使用
3楼
puma 发表于:2024/2/23 13:42:00
怎么解决窗口假死问题?
4楼
puma 发表于:2024/2/23 13:45:00
或者,在怎么在窗口里做一个启动和终止的按钮?
如果没有终止,启动后程序运行时间很长(1个小时,甚至更长),怎么手动终止?
5楼
有点蓝 发表于:2024/2/23 13:46:00
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=184244
6楼
有点蓝 发表于: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之后循环的效率会慢上好多倍
7楼
puma 发表于:2024/2/23 16:32:00
目前是通过弹窗,变更公共变量,可以正常终止。

就是程序运行完成后,这个弹窗不能自动关闭。(通过线程打开的,不然不能点击)
图片点击可在新窗口打开查看
共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.