权限控制中遇到的问题
时间:2011-10-10
来源:互联网
数据库中储存有对应菜单按钮的NAME
right_object_name字段是对应MENUITEM的name
在主窗体的CREATE过程中有如下段
qry_user_right.Close;
qry_user_right.Parameters.ParamByName('user_guid').Value:=user_guid;
qry_user_right.Open;
qry_user_right.First;
while not qry_user_right.Eof do begin
try
begin
//这句我用来测试是否能找到对应NAME的menuitem,测试是可以找到的,但是在下一句却无法执行!
ShowMessage(TMenuItem(FindComponent(qry_user_right.fieldbyname('right_object_name').AsString)).Caption);
TMenuItem(FindComponent(qry_user_right.fieldbyname('right_object_name').AsString)).Visible:=True;
end;
except
end;
qry_user_right.Next;
end;
运行中每个对应NAME的CAPTION都能被SHOWMESSAGE,但是下面的VISIBLE属性设置为TRUE却无法运行(在设计期已把所有的MENUITEM设置为FALSE),
是什么原因??
right_object_name字段是对应MENUITEM的name
在主窗体的CREATE过程中有如下段
qry_user_right.Close;
qry_user_right.Parameters.ParamByName('user_guid').Value:=user_guid;
qry_user_right.Open;
qry_user_right.First;
while not qry_user_right.Eof do begin
try
begin
//这句我用来测试是否能找到对应NAME的menuitem,测试是可以找到的,但是在下一句却无法执行!
ShowMessage(TMenuItem(FindComponent(qry_user_right.fieldbyname('right_object_name').AsString)).Caption);
TMenuItem(FindComponent(qry_user_right.fieldbyname('right_object_name').AsString)).Visible:=True;
end;
except
end;
qry_user_right.Next;
end;
运行中每个对应NAME的CAPTION都能被SHOWMESSAGE,但是下面的VISIBLE属性设置为TRUE却无法运行(在设计期已把所有的MENUITEM设置为FALSE),
是什么原因??
作者: sunway0112 发布时间: 2011-10-10
单纯靠显示与否控制,很不保险
有工具可以修改别的程序的控件的属性的。。。。。。。
应该在控件的每个事件的入口加判断
有工具可以修改别的程序的控件的属性的。。。。。。。
应该在控件的每个事件的入口加判断
作者: sz_haitao 发布时间: 2011-10-10
先在主菜单中的显示与否进行控制,在运行时会再判断的,关键是现在TRUE不起作用
作者: sunway0112 发布时间: 2011-10-10
有没有使用actionlist?
作者: sz_haitao 发布时间: 2011-10-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28