以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=127499) |
-- 作者:huangxueyao -- 发布时间:2018/11/15 14:02:00 -- 在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级 啥意思,何解? |
-- 作者:xndd -- 发布时间:2018/11/15 14:03:00 -- 不能用线程再去引用或者创建第二个线程,他们是平级的 |
-- 作者:有点甜 -- 发布时间:2018/11/15 15:09:00 -- 对应代码贴出来看看。
http://www.foxtable.com/mobilehelp/scr/3273.htm
http://www.foxtable.com/mobilehelp/scr/3272.htm
|
-- 作者:huangxueyao -- 发布时间:2018/11/15 16:21:00 -- 计划任务A: 代码: Try Dim tdd As Date = Date.Today Dim tdt As Date = Date.now Dim Arys As List(Of String()) Dim cmd As new sqlcommand cmd.connectionname = gs_strActiveConn cmd.commandtext = "sel ect * from 任务计划 where 执行 = 0 or 执行 is null" \'如果已经任务设置中已经暂停,那么计划中尚未执行的任务也不再执行. Dim db As DataTable = cmd.executereader(True) Arys = db.GetValues("任务ID|任务名称|任务函数","计划日期 = # " & tdd & " # and 计划时间 <= # " & tdt & " #") If Arys.Count > 0 Then Output.Logs("AutoLog").Add("自动数据处理开始" & Now.ToString("yyyy-MM-dd HH:mm:ss.fffff")) For Each Ary As String() In Arys Output.Show(Ary(0) & "|" & Ary(1) & "|" & Ary(2)) Dim rwid As Integer = Ary(0) Dim rwmc As String = Ary(1) Dim rwhs As String = Ary(2) Dim hscs As String = rwhs & "," & rwid & "," & rwmc Output.Logs("AutoLog").Add("自动数据处理" & hscs & "开始:" & Now.ToString("yyyy-MM-dd HH:mm:ss.fffff")) \'CallFun_Thread(hscs) Functions.AsyncExecute(rwhs,rwid,rwmc) \'多线程 Threading.Thread.Sleep(3000) \'必要时须延时一些 Dim filter As String ="任务ID = " & rwid & " And 计划时间 <= #" & tdt & "# " db.ReplaceFor("执行",True,filter) db.ReplaceFor("执行时间",Date.now,filter) db.save Output.Logs("AutoLog").Add("自动数据处理" & hscs & "结束:" & Now.ToString("yyyy-MM-dd HH:mm:ss.fffff")) Next Output.Logs("AutoLog").Add("----------------------------------") Output.Logs("AutoLog").Save(ProjectPath & "AutoLog.txt",True) End If Catch ex As Exception Output.Logs("AutoLog").Add("----------------------------------") Output.Logs("AutoLog").Add("自动数据处理" & ex.Message & "报错:" & Now.ToString("yyyy-MM-dd HH:mm:ss.fffff")) Output.Logs("AutoLog").Save(ProjectPath & "AutoLog.txt",True) End Try 上图红色部分调用的子函数代码如下: 以下内容是专门发给有点甜浏览 |
-- 作者:有点甜 -- 发布时间:2018/11/15 21:00:00 -- 1、涉及到公共资源的访问(比如表数据),基本是不能用多线程多次执行的。
2、必须按照顺序一步一步执行才行。也就是说启动一个线程,在这个线程里面完成所有的操作。 |
-- 作者:telek -- 发布时间:2018/11/15 23:16:00 -- gg |
-- 作者:atiwhl5 -- 发布时间:2020/2/17 4:50:00 -- 我也碰到不知道怎么办 |
-- 作者:Hopenight -- 发布时间:2020/5/12 13:42:00 -- 我也遇到了这个问题 |