Foxtable(狐表)用户栏目专家坐堂 → 异步函数执行问题


  共有2761人关注过本帖树形打印复制链接

主题:异步函数执行问题

帅哥哟,离线,有人找我吗?
304376480
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:339 积分:3766 威望:0 精华:0 注册:2017/9/7 15:20:00
异步函数执行问题  发帖心情 Post By:2020/5/27 17:35:00 [显示全部帖子]

老师您好!
有三段函数代码:函数A、函数B、函数C,在同一个按扭中,同时使用 AsyncExecute 方法异步执行,
函数C中的代码比较简单,如下:

Dim DJBH As String = Args(0) 
'追载
 Dim id As Integer = DataTables("应收应付明细").Compute("Max(_Identify)") DataTables("应收应付明细").AppendLoad("[_Identify] > " & id) 
''重置 
 DataTables("应收应付明细").DataCols("客户ID").RaiseDataColChanged("单据编号 = '" & DJBH & "'")

问题:在 函数A 或 函数B 还没有执行完毕时,函数C无论同步执行还是异步执行,都会报错,
那么,要怎么知道 函数A 和 函数B  都执行完毕了,再开始执行 函数C 呢? (这个跟开发文档示例中的循环执行又是不同的)

 回到顶部
帅哥哟,离线,有人找我吗?
304376480
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:339 积分:3766 威望:0 精华:0 注册:2017/9/7 15:20:00
  发帖心情 Post By:2020/5/27 18:36:00 [显示全部帖子]

下面这样的代码放在函数中异步调用,会有问题吗?

Dim Tab As DataTable = Args(0)'明细表
Dim DJBH As String = Args(1)'单据编号
Dim Colname As String = Args(2)'列名称
Dim DataTab As DataTable = DataTables("出入库明细")
Dim JLh As DataRow = DataTables("经营记录").SQLFind("单据编号 = '" & DJBH & "'")
Dim mxs As New List(Of DataRow)
    mxs = Tab.SQLSelect("单据编号 = '" & DJBH & "'")
    For Each mx As DataRow In mxs
        Dim CRnh As DataRow = DataTab.SQLAddNew()
        CRnh("单据编号") = DJBH
        CRnh("日期") = JLh("日期")
        CRnh("仓库") = JLh("仓库")
        CRnh("产品ID") = mx("商品ID")
        CRnh(Colname) = mx("数量")
        CRnh("入库日期") = Date.Now 
        CRnh.Save()
    Next

 回到顶部
帅哥哟,离线,有人找我吗?
304376480
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:339 积分:3766 威望:0 精华:0 注册:2017/9/7 15:20:00
  发帖心情 Post By:2020/5/27 20:43:00 [显示全部帖子]

有一个问题一直没有解决,处理十几行数据就有明显的卡顿感,没办法哦,使用异步处理会非常流畅,但在线程还没处理完的时候,点开其他操作就会弹出错误提示,不知道怎么处理,,,,?

 回到顶部