以文本方式查看主题 - 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是空值,否则代码不会出错的 |