使用FOXTABLE进行开发设计最令人揪心的问题就是,同样的代码和工作方式正式使用的时候出问题。但单独测试的时候表现确象 完美。
但是如果你单独建立一个测试文件的时候,他又不出问题。这样的排错就非常困难,而官方也不能提供解决方法之道。 官方会说我们测试没有问题,二说,你做个例子上来吧,(但是整个项目没有几个人愿意发上来的,于是只有自己绕着路走,官方也会因此失去一个底层代码排错的机会)
比如在一个窗口中:
Dim g As New GroupTableBuilder("统计表", DataTables("表A"))
g.Groups.AddDef("第一列", "第一列_值")
g.Totals.AddDef("第一列", AggregateEnum.Count, "第一列_计数")
g.Build()
Dim tb1 As Table = e.Form.Controls("Table1").Table
tb1.DataSource = DataTables("统计表")
然后再 关闭窗口事件里:
If DataTables.Contains("统计表") Then
DataTables.Unload("统计表")
End If
单独 测试本事件 时: 这个代码 不管是放在BeforeClose在关闭窗口前执行。 还是 AfterClose 在关闭窗口时执行,此时还可以引用窗口中的控件。
执行都没问题。
但是实际使用过程中:
如果类似代码放在 BeforeClose 中则不行。
此主题相关图片如下:qq图片20160524145612.png

放在 AfterClose 事件中,则不至于软件死循环报错,但也报错 不存在某某表 的信息。
可用解决方法是: 在 AfterClose 事件卸载表之前,将窗口表的tb1.DataSource = DataTables("表A") 绑有定一个绝对存在的表,系统才正常关闭窗口,不报任何错误信息。
请问这个 不存在名称为”“ 的DATATABLE 还与哪些事件有关,实在找不到解决问题的真正方法。提前改变 DataSource 应该不是终级方法。
FOXTABLE什么时候能再长大点,在所有的地方表现统一点,稳定点,像这样的问题 不需要用户自己展开反复的测试,自己想办法解决问题?
[此贴子已经被作者于2016/5/24 15:13:59编辑过]