以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 表空时加载出错,不知如何解决? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59040) |
-- 作者:audience68 -- 发布时间:2014/10/28 19:17:00 -- 表空时加载出错,不知如何解决? 由来请教了 今天初始化了数据库,在数据库为空时,启动程序,发现出错,出错信息如下 .NET Framework 版本:2.0.50727.5485 Foxtable 版本:2014.10.16.1 错误所在事件:窗口,监造周报窗口,AfterLoad 详细错误信息: 未将对象引用设置到对象的实例。 参照前面甜版和高手的指导,我依葫芦画瓢在AfterLoad中加了两个IF语句,整个AfterLoad代码如下: 但是修改后的代码在运行时发现大量占用内存,要等很长时间才能进入系统,但是没有报错。试着在表中维护数据,发现凡是在加载时表不为空,启动速度正常,但一旦为空,速度就非常慢。请高手看看我的代码是不是有缺陷?谢谢了! If User.Group = "监理"
Then DataTables("监造周报").LoadFilter = "监理人员 = \'"
& User.Name & "\'" ElseIf User.Group = "主管" Then DataTables("监造周报").LoadFilter = "项目经理 = \'"
& User.Name & "\'" Else DataTables("监造周报").LoadFilter = "" End If DataTables("监造周报").Load()
If Forms("监造周报窗口").Opened Then \'If Tables("监造周报").Current("审核") IsNot
Nothing Then If Tables("监造周报").Current IsNot Nothing Then Dim fm1 As WinForm.FileManager = Forms("监造周报窗口").Controls("FileManager1") Dim fm2 As WinForm.FileManager = Forms("监造周报窗口").Controls("FileManager2") Dim fm3 As WinForm.FileManager = Forms("监造周报窗口").Controls("FileManager3") Dim fm As WinForm.PictureViewer = Forms("监造周报窗口").Controls("PictureViewer1") If Tables("监造周报").Current.IsNull("审核") = False Then \'如果周报已经审批 fm1.AddCommand.Visible = False fm2.AddCommand.Visible = False fm3.AddCommand.Visible = False fm.AddCommand.Visible = False fm1.DeleteCommand.Visible = False fm2.DeleteCommand.Visible = False fm3.DeleteCommand.Visible = False fm.DeleteCommand.Visible = False fm1.ClearCommand.Visible = False fm2.ClearCommand.Visible = False fm3.ClearCommand.Visible = False fm.ClearCommand.Visible = False fm.ManagerCommand.Visible = False fm1.ManagerCommand.Visible = False fm2.ManagerCommand.Visible = False fm3.ManagerCommand.Visible = False Else fm1.AddCommand.Visible = True fm2.AddCommand.Visible = True fm3.AddCommand.Visible = True fm.AddCommand.Visible = True fm1.DeleteCommand.Visible = True fm2.DeleteCommand.Visible = True fm3.DeleteCommand.Visible = True fm.DeleteCommand.Visible = True fm.ManagerCommand.Visible = False fm1.ManagerCommand.Visible = False fm2.ManagerCommand.Visible = False fm3.ManagerCommand.Visible = False End If End If
End If |
-- 作者:有点甜 -- 发布时间:2014/10/28 19:23:00 -- 这段代码没有问题,出错例子发上来。 |
-- 作者:audience68 -- 发布时间:2014/10/29 13:30:00 -- 谢谢甜版,问题已经查到,是上次你指导的关于未维护监造日志预警语句对空表没有设置判断条件引起的,现在加了IF语句后解决。 |