以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]系统定时器代替窗口定时器,报错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=171704) |
||||
-- 作者:wangjh8888 -- 发布时间:2021/9/6 16:43:00 -- [求助]系统定时器代替窗口定时器,报错 老师 好 不知道为什么,使用窗口定时器,程序运行正常,把窗口定时器的内容搬迁到系统定时器就报错,帮看看问题所在,谢谢 Timertick: Functions.Execute("发生多路计时器定时方波") 内部函数"发生多路计时器定时方波": Dim t As Table = Forms("主窗口").controls("Table-多路计时器").Table For Each r As Row In t.Rows r("定时方波") = not r("定时方波") Next 全局代码 Public Sub myTimer_Elapsed(sender As object, e As System.Timers.ElapsedEventArgs) Functions.Execute("发生多路计时器定时方波") End Sub 定义系统定时器的三个按键: init+start: Dim myTimer As new System.Timers.Timer(e.Form.controls("NCBox-刷频").value)\'定时周期2秒 addhandler myTimer.Elapsed, addressof myTimer_Elapsed myTimer.AutoReset = True myTimer.Enabled = True vars("mytimer") = myTimer start: vars("mytimer").Enabled = True stop: vars("mytimer").Enabled = False |
||||
-- 作者:有点蓝 -- 发布时间:2021/9/6 17:11:00 -- 不是很理解上面的逻辑,请做个例子发上来测试 |
||||
-- 作者:wangjh8888 -- 发布时间:2021/9/6 17:24:00 --
|
||||
-- 作者:有点蓝 -- 发布时间:2021/9/6 17:29:00 -- 怎么测试?点击init按钮没有问题呀 |
||||
-- 作者:wangjh8888 -- 发布时间:2021/9/6 18:02:00 -- 在按启动 |
||||
-- 作者:有点蓝 -- 发布时间:2021/9/6 21:41:00 -- 这种系统计时器System.Timers.Timer属于多线程,不能直接操作窗口和表格,和着这里的限制一样:http://www.foxtable.com/mobilehelp/topics/277.htm |