以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请教:关于按授权表显示navbar页面和topicbar页面问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=179828)

--  作者:xtlwp
--  发布时间:2022/9/13 9:52:00
--  请教:关于按授权表显示navbar页面和topicbar页面问题
窗口根据授权表设置代码,总提示
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,导航测试,AfterLoad
详细错误信息:
未将对象引用设置到对象的实例。
  请教代码如何修改?
[此贴子已经被作者于2022/9/13 9:53:18编辑过]

--  作者:有点蓝
--  发布时间:2022/9/13 9:53:00
--  
调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错
--  作者:xtlwp
--  发布时间:2022/9/13 10:19:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip

测试时:
For Each page As WinForm.NavPage In nv.NavPages 
    For Each tp As WinForm.TopicBar In page.Children 
        For Each pg As WinForm.TopicPage In e.Form.Controls(tp.Name).Pages 
            For Each tl As WinForm.TopicLink In pg.Links 
                pg.Visible = False
                tl.Visible = False
                Dim Filter As String = "用户 like \'%" & User.Name & "%\' "
                For Each s As String In User.Roles.split(",")
                    Filter = Filter & " or  用户 like \'%" & s & "%\'"
                Next
                Filter = "(" & Filter & ")"
                
                For Each dr As DataRow In DataTables("导航授权").SQLSelect( Filter) 
                    If dr.IsNull("任务栏页面") = False and dr.IsNull("任务栏") = False Then
\'                        msgbox(dr("任务栏"))
\'                        msgbox(dr("任务栏页面"))
                        tp.Pages(dr("任务栏")).Visible = True 
                        pg.Links(dr("任务栏页面")).Visible = True 
                    Else 
                        If dr.IsNull("任务栏") = False Then
                               msgbox(dr("任务栏"))
                            tp.Pages(dr("任务栏")).Visible = True 
                        End If 
                    End If 
                Next 
            Next 
        Next 
    Next
Next
第一次可以显示任务栏名称和任务栏页面名称一次,接着就显示“未设置对象变量或 With 块变量。”不知道怎么修改?

--  作者:有点蓝
--  发布时间:2022/9/13 10:41:00
--  
这个应该是授权表里维护的任务栏名称和页面名称有误,任务栏控件里不存在这个名称的任务栏或者页面名称。看弹出哪个任务栏和页面名称后出错?
--  作者:有点蓝
--  发布时间:2022/9/13 10:58:00
--  
这个循环处理的逻辑很有问题。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip



--  作者:xtlwp
--  发布时间:2022/9/13 11:43:00
--  
谢谢大神