以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助,关于同步异步函数怎么用 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=139273) |
-- 作者:zto001 -- 发布时间:2019/8/9 14:13:00 -- 求助,关于同步异步函数怎么用 求助,关于同步异步函数怎么用 我试着做了下上面的例子。http://www.foxtable.com/mobilehelp/index.htm?page=3269.htm 定义一个名为AddTotal的函数,其代码为: Total = Total + Args(0) TCount = TCount - 1 If Tcount = 0 Then MessageBox.Show("计算完成,结果为:" & Total) End If Total
这个变量没办法放到全局代码里面
|
-- 作者:有点蓝 -- 发布时间:2019/8/9 14:14:00 -- 首先我们在全局代码中定义一个Public变量: Public Total As Integer 关于Public变量,参考:Public变量 |
-- 作者:zto001 -- 发布时间:2019/8/9 15:36:00 -- 前面懂了 想问问 Functions.BeginSyncExecute("AddTotal",Sum) 这个是什么意思? |
-- 作者:zto001 -- 发布时间:2019/8/9 15:43:00 -- 我想要异步函数按照顺序执行。之前我只用了异步函数一直漏掉一些 我想要的流程是这样的 判断是否有该订单 \'(同步函数) 是执行打印 ’(改为异步函数) |
-- 作者:有点蓝 -- 发布时间:2019/8/9 15:43:00 -- 参考:http://www.foxtable.com/mobilehelp/topics/3273.htm 同步调用AddTotal函数
|
-- 作者:zto001 -- 发布时间:2019/8/9 15:49:00 -- \'\'\' Dim bh As WinForm.TextBox = Forms("打印").Controls("TextBox1") Dim dr As DataRow = DataTables("订单").SQLFind("[系统单号] = \'"& bh.value &"\'") If dr IsNot Nothing Then Dim drc As DataRow = DataTables("操作记录").Find("[系统单号] = \'"& bh.value &"\'") If drc Is Nothing Then Dim doc As New PrintDoc \'定义一个报表 doc.PageSetting.Width = 100 \'纸张宽度为100毫米 doc.PageSetting.Height = 180 \'纸张高度为120毫米 Dim rt As New prt.RenderTable() \'定义一个表格对象 Doc.PageSetting.LeftMargin = 0 \'设置左边距 Doc.PageSetting.RightMargin = 0 \'设置右边距 Doc.PageSetting.TopMargin = 0 \'设置上边距 Doc.PageSetting.BottomMargin = 0 \'设置下边距 这一节是打印代码 rt.Cells(7,2).RenderObject = rg1 \'将单元格内容设置为图片对象rm doc.Body.Children.Add(rt) \'将表格对象加入到报表中 Doc.Print () \'预览报表 Audio.Play(SpecialFolder.DesktopDirectory & "\\系统\\扫描.wav") Dim d As Row = Tables("操作记录").AddNew() d("系统单号")= bh.value d("操作类型")="打单" d("操作人")=_Name d("操作时间")=Date.Now d.Save Else Audio.Play(SpecialFolder.DesktopDirectory & "\\系统\\错误.wav") MessageBox.Show("系统已存在!") End If Else Audio.Play(SpecialFolder.DesktopDirectory & "\\系统\\错误.wav") MessageBox.Show("系统无此单记录,请核对!") End If |
-- 作者:zto001 -- 发布时间:2019/8/9 15:50:00 -- 上面这段代码里面中间那段红色代码我希望用异步函数指定,但是不能有漏,并且按照顺序打印出来。能行吗? |
-- 作者:zto001 -- 发布时间:2019/8/9 15:53:00 -- 还是没思绪 |
-- 作者:有点蓝 -- 发布时间:2019/8/9 16:11:00 -- 把红色代码放入一个内部函数 调用 …… Dim drc As DataRow = DataTables("操作记录").Find("[系统单号] = \'"& bh.value &"\'") If drc Is Nothing Then Functions.AsyncExecute("函数名称") |
-- 作者:zto001 -- 发布时间:2019/8/9 16:25:00 -- .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2019.8.3.1 错误所在事件: 详细错误信息: 连接未关闭。 连接的当前状态为正在连接。 这是怎么回事?
|