以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  使用FT最令人揪心的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=85378)

--  作者:凡夫俗子
--  发布时间:2016/5/24 15:12:00
--  使用FT最令人揪心的问题
使用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编辑过]

--  作者:大红袍
--  发布时间:2016/5/24 15:13:00
--  

 用buildDataSource啊

 

http://www.foxtable.com/help/topics/1909.htm

 


--  作者:blackzhu
--  发布时间:2016/5/24 15:28:00
--  
是啊 用法错了,另外统计表不需要删除的.
--  作者:凡夫俗子
--  发布时间:2016/5/24 15:32:00
--  
用buildDataSource啊 是可以解决 统计表的问题。这样用,实际生成一个 所属窗口的 临时表,窗口卸载时不用用代码卸载了,表自动销毁。
但有时并不是 统计表呀,用统计表举例说明 是方便生成一个临时 表

在实际使用过程中,肯定存在先建立了一个临时的DATATABLE然后绑定到窗口的表,关闭窗口时要卸载这个表,那么问题还存在呀

--  作者:大红袍
--  发布时间:2016/5/24 15:38:00
--  

我,测试,没问题。卸载临时表或者数据表,都没问题。实例请上传上来。

 

DataTables.unload("表A")


--  作者:凡夫俗子
--  发布时间:2016/5/24 15:41:00
--  
此例的关键是 为什么同样 的用法 在单独测试时表现尚可 一到实际使用时,表现就出状况,难道就因为,窗口里的功能,事件多了一些。


拿统计表 举例说明只是方便建立一个临时表。

统计表不需要删除的.说法我也不大同意 ,如果 一个系统在应用过程中,多次产生了临时的统计表,在不需要使用时,肯定要删除,以节省系统资源,企业好多电脑都非常垃圾,早七八年的电脑都在使用,不得不考虑。另有些统计表可以多数地方要使用,也不会都放在窗口里,随窗口关闭而关闭。得生成一次让程序共享,如果这样的需求,需要时就再生成一次,也是设计不合理的。

--  作者:大红袍
--  发布时间:2016/5/24 15:48:00
--  
 例子发上来。
--  作者:凡夫俗子
--  发布时间:2016/5/24 15:57:00
--  
这就是揪心的不问题,例子做了几次都正常,就是项目里的不正常。能远程么
--  作者:大红袍
--  发布时间:2016/5/24 16:01:00
--  

 是发布后不正常,还是项目里面就不正常?

 

 如果例子正常,但是项目不正常,就是其余有代码的影响。你可以在项目本身再建一个窗口,逐步加入控件代码测试,看哪里出问题了。


--  作者:凡夫俗子
--  发布时间:2016/5/24 16:03:00
--  
项目里面就不正常