以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  未将对象引用到实例的错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99210)

--  作者:lk15502
--  发布时间:2017/4/14 15:01:00
--  未将对象引用到实例的错误
 用户表的prepareedit事件:会出现未将对象引用到实例的错误
Case "用户编号"
        If _userroles.Contains("系统维护") = True OrElse _usergroup = "系统管理" Then
            e.Cancel = False
        Else
            e.Cancel = True
        End If
上面的代码屏蔽后正常了,是什么原因?
Select Case 图片点击可在新窗口打开查看e.Col.name
    Case "group"
        If _userroles.Contains("系统维护") = True OrElse _usergroup = "系统管理" Then
            e.Col.AllowDirectType = False
            e.Col.ComboList = DataTables("系统设置表").SQLGetComboListString("用户分组")
        Else
            e.Cancel = True
        End If
    Case "roles"
        If _userroles.Contains("系统维护") = True OrElse _usergroup = "系统管理" Then
            e.Col.AllowDirectType = False
            e.Col.DataCol.ExtendType = ExtendTypeEnum.Values
            e.Col.ComboList = DataTables("系统设置表").SQLGetComboListString("用户角色")
        Else
            e.Cancel = True
        End If
    Case "好友"
        If _userroles.Contains("系统维护") = True OrElse _usergroup = "系统管理" Then
            e.Col.AllowEdit = True
            e.Cancel = False
        Else
            e.Cancel = True
        End If
    Case "用户编号"
        If _userroles.Contains("系统维护") = True OrElse _usergroup = "系统管理" Then
            e.Cancel = False
        Else
            e.Cancel = True
        End If
    Case "标注"
        If _userroles.Contains("系统维护") = True OrElse _usergroup = "系统管理" Then
            e.Cancel = False
        Else
            e.Cancel = True
        End If
End Select

--  作者:有点色
--  发布时间:2017/4/14 15:30:00
--  
 你执行什么操作以后,才会报错?还是说,直接写代码以后就报错了?
--  作者:lk15502
--  发布时间:2017/4/14 15:46:00
--  
登录后,打开系统
--  作者:有点色
--  发布时间:2017/4/14 15:51:00
--  

 afterOpenProject事件执行下面代码,弹出什么?

 

msgbox(_userroles)

msgbox(_usergroup)

 


--  作者:lk15502
--  发布时间:2017/4/14 16:07:00
--  
afteropenpproject事件代码:
  Forms("用户登录").open()
msgbox(_userroles)
msgbox(_usergroup)
还是一样的错误,弹窗是显示正常的分组和角色

--  作者:有点色
--  发布时间:2017/4/14 16:42:00
--  

1楼的代码不会报错的,代码没问题。

 

你尝试把你项目的bin文件夹删除,重新打开一下。


--  作者:lk15502
--  发布时间:2017/4/14 18:29:00
--  
bin文件夹删除,还是一样!
--  作者:有点蓝
--  发布时间:2017/4/14 20:38:00
--  
除非_userroles是空值,否则代码不会出错的