以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于异步函数问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187099) |
-- 作者:benben325 -- 发布时间:2023/6/21 9:56:00 -- 关于异步函数问题 主体代码结构如下: 代码片段1 functions.exe("函数1") 代码片段2 函数1代码如下: functions.AsyncExecute("函数2") functions.AsyncExecute("函数3") functions.AsyncExecute("函数4") 在执行主体代码的时候,代码片段1 到 代码片段2 并没有等待 函数1执行完成。。。 有什么办法,让代码1 到代码2 中进行等待,等待 函数1里面所有的函数都执行完成? |
-- 作者:有点蓝 -- 发布时间:2023/6/21 10:11:00 -- 要借助同步函数:http://www.foxtable.com/mobilehelp/topics/3270.htm 增加一个全局变量 Public TCount As Integer 增加一个同步函数,比如名称【同步1】。代码为: TCount = TCount - 1 "函数2、3、4"里面最后增加一句代码 …… Functions.BeginSyncExecute("同步1") 函数1代码改为: TCount = 3 functions.AsyncExecute("函数2") functions.AsyncExecute("函数3") functions.AsyncExecute("函数4") do while TCount > 0 Application.DoEvents loop |
-- 作者:benben325 -- 发布时间:2023/6/21 10:17:00 -- 请问 Public TCount as Integer 这种全局变量 和 Vars("TCount") 这种全局变量有区别么? |
-- 作者:有点蓝 -- 发布时间:2023/6/21 10:20:00 -- 异步函数里只能使用 Public 变量。其它基本没有什么区别。 |
-- 作者:benben325 -- 发布时间:2023/6/21 13:22:00 -- 老师,还有个问题,我用狐表做的后台,若多个用户发送了 执行这个任务的指令,是不是TCount 会冲突? |
-- 作者:有点蓝 -- 发布时间:2023/6/21 13:43:00 -- 会冲突的。考虑建个表,有列用户名,计数等,每个用户执行的时候,查询有没有自己名称的行,没就新增,然后更改判断这一行的计数列值 |