Foxtable(狐表)用户栏目专家坐堂 → [求助]例子中的《菜》


  共有2864人关注过本帖树形打印复制链接

主题:[求助]例子中的《菜》

帅哥哟,离线,有人找我吗?
twlg
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:256 积分:3691 威望:0 精华:0 注册:2012/8/11 15:00:00
[求助]例子中的《菜》  发帖心情 Post By:2015/1/24 14:33:00 [只看该作者]

例子中的《菜单权限》窗口点击应用时,显示《未将对象引用设置到对象的实例。》,错误所在位置代码如下,求帮助

        For Each itm As RibbonMenu.RibbonItem In grp.Items
            If tv.Nodes("功能区").Nodes(rtb.Name).Nodes(grp.Name).Nodes.Contains(itm.Name) = False Then
                 tv.Nodes("功能区").Nodes(rtb.Name).Nodes(grp.Name).Nodes.Add(itm.Name)
            End If
        Next
    Next
Next

'快速访问兰
Dim tv9 As WinForm.TreeView = e.Form.Controls("菜单权限")
tv9.Nodes.Add("快速访问栏")
For Each itm9 As object In QAT.Items
    Dim nd9 As object = tv9.Nodes("快速访问栏").Nodes.Add(itm9.Name)
    If itm9.Gettype.name <> "Button"   Then
       If  itm9.Gettype.name <> "Separator"  Then     
        For Each citm As object In itm9.items
             Dim cnd As object = nd9.Nodes.Add(citm.Name)
            If citm.Gettype.name <> "Button" Then  
                      If  citm.Gettype.name <> "Separator"  Then     
                For Each ccitm As RibbonMenu.RibbonItem In citm.items
                    Dim ccnd As object = cnd.Nodes.Add(ccitm.Name)
                Next
              End If
            End If   
        Next
     End If
    End If
Next
'配置兰
tv9.Nodes.Add("配置栏")
For Each itm9 As object In ConfigBar.Items
    Dim nd9 As object = tv9.Nodes("配置栏").Nodes.Add(itm9.Name)
    If itm9.Gettype.name <> "Button"   Then
       If  itm9.Gettype.name <> "Separator"  Then     
        For Each citm As object In itm9.items
             Dim cnd As object = nd9.Nodes.Add(citm.Name)
            If citm.Gettype.name <> "Button" Then  
                      If  citm.Gettype.name <> "Separator"  Then     
                For Each ccitm As RibbonMenu.RibbonItem In citm.items
                    Dim ccnd As object = cnd.Nodes.Add(ccitm.Name)
                Next
              End If
            End If   
        Next
     End If
    End If
Next
Dim trv8 As WinForm.TreeView = e.Form.Controls("菜单权限")
For Each nd8 As WinForm.TreeNode In tv.AllNodes
    If nd8.Text.IndexOf("分割条") >= 0 Then
       nd8.Delete()
    End If
Next

e.Form.Controls("菜单权限").Enabled = False

  e.Form.Controls("Btn菜单授权保存").Enabled = False
  e.Form.Controls("Btn菜单授权清除").Enabled = False
  e.Form.Controls("Btn菜单授权编辑").Enabled = False
    e.Form.Controls("提示1").Text = "请选择用户!!!"

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理系统.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/24 14:34:00 [只看该作者]

建议您用这个方法:
http://www.foxtable.com/help/topics/1485.htm

先找出是哪一行出错,然后分析原因,搞不定,可以在论坛发帖,贴出代码,并告诉我们运行到哪一行出错,以及错误提示。

 回到顶部
帅哥哟,离线,有人找我吗?
twlg
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:256 积分:3691 威望:0 精华:0 注册:2012/8/11 15:00:00
  发帖心情 Post By:2015/1/24 14:47:00 [只看该作者]

BIN版,按你的方法,调试了下,对例子中的权限窗口,仍然提示未《未将对象引用设置到对象的实例。》,

错误行从这里开始

Dim trv1 As WinForm.TreeView = e.Form.Controls("用户列表")
For Each u As UserInfo In Users
    If u.Type = UserTypeEnum.User Then '排除管理员和开发者
        If trv1.Nodes.Contains(u.Group) = False Then
            trv1.Nodes.Add(u.Group)
        End If
        trv1.Nodes(u.Group).Nodes.Add(u.Name)
    End If
Next
'功能区(图片点击可在新窗口打开查看前面执行没问题,错误从这里开始),是我定义不正确吗
Dim tv As WinForm.TreeView = e.Form.Controls("菜单权限")
tv.Nodes.Clear
tv.Nodes.Add("功能区")


 回到顶部
帅哥哟,离线,有人找我吗?
twlg
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:256 积分:3691 威望:0 精华:0 注册:2012/8/11 15:00:00
  发帖心情 Post By:2015/1/24 14:48:00 [只看该作者]

从表情那里开始的黑体字,是提示错误开始的代码段

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/24 14:50:00 [只看该作者]

这几句代码不会有问题, 你多加入一些messagebox.show 准确定位出问题代码看看.

 回到顶部
帅哥哟,离线,有人找我吗?
twlg
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:256 积分:3691 威望:0 精华:0 注册:2012/8/11 15:00:00
  发帖心情 Post By:2015/1/24 15:05:00 [只看该作者]

BIN版,求助了,确实不知道那里有问题了。例子里面的  菜单权限 那个窗口,你点击应用,会出现问题吗

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/24 15:12:00 [只看该作者]

Dim trv1 As WinForm.TreeView = e.Form.Controls("用户列表")
For Each u As UserInfo In Users
    If u.Type = UserTypeEnum.User Then '排除管理员和开发者
        If u.Group <> "" Then
        If trv1.Nodes.Contains(u.Group) = False Then
            trv1.Nodes.Add(u.Group)
        End If
        trv1.Nodes(u.Group).Nodes.Add(u.Name)
        End If
     End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/24 15:12:00 [只看该作者]


 回到顶部