数据库中储存有对应菜单按钮的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),是什么原因??
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货