以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  2014.04.18日更新 异步加载还是有问题吧。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49369)

--  作者:ysq128
--  发布时间:2014/4/16 21:37:00
--  2014.04.18日更新 异步加载还是有问题吧。
1、报错:
集合已修改;可能无法执行枚举操作。
2、在表事件afterload中使用

图片点击可在新窗口打开查看


--  作者:zyqzyy
--  发布时间:2014/4/16 21:41:00
--  
请官方关注!
--  作者:有点甜
--  发布时间:2014/4/16 21:51:00
--  
以下是引用zyqzyy在2014-4-16 21:41:00的发言:
请官方关注!

 

经多次测试,没有发现错误,是否有出错的例子?或者代码?


--  作者:ysq128
--  发布时间:2014/4/16 21:55:00
--  
Tables("财务管理-发票管理_等待开票").Fill("Select * from {xx_order} where [id] Is Null","magou",False)
Functions.Execute("TablesAfterFill","财务管理-发票管理_等待开票","xx_order")
DataTables("财务管理-发票管理_等待开票").LoadFilter = "[order_status] = 1 and [shipping_status] = 0 and [invoice_status] = 0 and [is_invoice] =1 and " & Filter
DataTables("财务管理-发票管理_等待开票").LoadAsync()
Tables("财务管理-发票管理_已开发票").Fill("Select * from {xx_order} where [id] Is Null","magou",False)
Functions.Execute("TablesAfterFill","财务管理-发票管理_已开发票","xx_order")
DataTables("财务管理-发票管理_已开发票").LoadFilter = "[order_status] = 1 And [shipping_status] = 0 And [invoice_status] = 1 And [is_invoice] =1 And " & Filter
DataTables("财务管理-发票管理_已开发票").LoadAsync()

一个窗口同时有两个窗体表的时候。第二个加载都是出问题的。

还有我程序如果用了OuterTableBuilder表加载,程序还在运行OuterTableBuilder中。如果现在又操作窗体表中用了LoadAsync()这个
就有问题来了。

--  作者:有点甜
--  发布时间:2014/4/16 22:01:00
--  
 呃,做了两个表测试没有出错?上例子看看。
--  作者:有点酸
--  发布时间:2014/4/16 22:01:00
--  

异步加载是有讲究的,注意代码顺序:

Tables("财务管理-发票管理_等待开票").Fill("Select * from {xx_order} where [id] Is Null","magou",False)
Functions.Execute("TablesAfterFill","财务管理-发票管理_等待开票","xx_order")
Tables("财务管理-发票管理_已开发票").Fill("Select * from {xx_order} where [id] Is Null","magou",False)
Functions.Execute("TablesAfterFill","财务管理-发票管理_已开发票","xx_order")
DataTables("财务管理-发票管理_已开发票").LoadFilter = "[order_status] = 1 And [shipping_status] = 0 And [invoice_status] = 1 And [is_invoice] =1 And " & Filter
DataTables("财务管理-发票管理_等待开票").LoadFilter = "[order_status] = 1 and [shipping_status] = 0 and [invoice_status] = 0 and [is_invoice] =1 and " & Filter
DataTables("财务管理-发票管理_已开发票").LoadAsync()
DataTables("财务管理-发票管理_等待开票").LoadAsync()

--  作者:ysq128
--  发布时间:2014/4/16 22:17:00
--  
一个窗口同时有两个窗体表的时候。异步加载没有问题。不好意思。我整错了。
还有我程序如果用了OuterTableBuilder表加载,程序还在运行OuterTableBuilder中。如果现在又操作窗体表中用了LoadAsync()这个
就有问题来了。这个问题是肯定存在的。
我程序因为在多个OuterTableBuilder在加载。 
 
这个是会报:
1、报错:
集合已修改;可能无法执行枚举操作。
2、在表事件afterload中使用

图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2014/4/16 22:23:00
--  

 没理解7楼的意思。是否有具体例子说明?

 

 或者说怎么重现你的错误。


--  作者:ysq128
--  发布时间:2014/4/16 22:45:00
--  
就是OuterTableBuilder表加载,程序还在同时运行OuterTableBuilder,这个还在运行中。如果现在又操作窗体表中用了LoadAsync()这个
--  作者:ido
--  发布时间:2014/4/16 22:50:00
--  
关注一下~~