以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 异步执行的终止 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192742) |
-- 作者:newsun2k -- 发布时间:2024/7/18 10:56:00 -- 异步执行的终止 关于异步执行,大概代码如下,我想点按钮终止异步执行,好像不起作用。麻烦指导一下。 Public Total As Integer public pauseflag as boolean首先增加一个名为"AddTotal"的函数,代码为: if pauseflag = false then return nothing For i As Integer = 1 To 100
然后在命令窗口用AsyncExecute方法异步执行此函数100次: pauseflag = true 然后我在其他的地方设置一个按钮,点按钮时执行:pauseflag = false |
-- 作者:有点蓝 -- 发布时间:2024/7/18 11:28:00 -- 把累加改大一点把,1加到100不到1毫秒的事,等你点按钮都已经执行完毕了 试试(改大后可能会很慢,注意新建一个项目测试,有点耐心哈) For i As Integer = 1 To 100000 另外不应该在异步里直接操作全局变量,应该通过同步函数处理,不然全局变量的值是有问题的:http://www.foxtable.com/mobilehelp/topics/3270.htm |
-- 作者:newsun2k -- 发布时间:2024/7/19 13:23:00 -- 没理解。 然后我在其他的地方设置一个按钮,点按钮时执行:pauseflag = false 这里,我改成同步函数处理?
|
-- 作者:有点蓝 -- 发布时间:2024/7/19 13:48:00 -- 和按钮没有关系,是在异步里对Total这个变量累加的时候,必须使用同步函数 |