做了一个电话通知系统, 表中有若干人员需要通知,
下面的代码写在"外呼"按钮中,定义了一个全局变量 IsNextCall ,在
Tables("电话通知记录表").Filter= "通知标志=True" '循环检测 逐个通知"通知记录表"中为True的记录
For Each dr1 As Row In Tables("电话通知记录表").Rows
If dr1("通知内容") <> Nothing Then '如果通知内容不为空
…………摘机
…………拨号
Vars("IsNextCall")=False
Do While Vars("IsNextCall")=False '如果变局变量变为True,则执行继续往下一行的代码 不能用这个循环,程序会死在这里,无法检测摘机事件.
System.threading.Thread.Sleep(3000) ' 延迟3秒
Loop
Vars("IsNextCall")=False
MessageBox.show(Vars("IsNextCall"))
Next '继续呼叫表格中的下一行
在全局代码中: 调用了 电话语音盒子的dll,
厂商定义有一个
select case
case 对方摘机
语音盒子播放通知的内容
语音盒子挂机
Var("IsNextCall")=True
exit select
case …………
end select
问题是不能用 do while 循环判断全局变量 IsNextCall ,否则程序会死在这里,无法往下继续呼叫,请问这个延时判断应该怎么写? 用回调? 用计划任务? 代码咋写? 请指教