关于FindComponent 的问题。(50分)

  • 主题发起人 主题发起人 RedBeret
  • 开始时间 开始时间
R

RedBeret

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟在做一权限控制程序,将TAction.name 保存在表中,下面的过程从表中读出 TAction.name
并用FindComponent函数将其转化为相应的控件进行操作,但是老是出错,请各位大虾帮忙看看。

procedure TMainForm.ReadAuth;
var
AC: TComponent;
begin
with QueryUser do
begin
Open;
if recordcount > 0 then
while not eof do
begin
// showmessage(Trim(FieldByName('auth_action').AsString))
//表中保存的TAction.name是正确的。
AC := FindComponent(Trim(FieldByName('auth_action').AsString))
//但AC却为nil,为什么?
TAction(AC).Visible := true
//执行到这里出错。
next;
end;
end;
end;
 
FindComponent to determine whether a given component is owned by another.
即控件必须为其父控件所有。你的控件的parent肯定不是QueryUser,当然返回nil.
调用方式为Tcompoent.findcompoent.
 
多谢wind_cloudy大虾指点。
 

Similar threads

S
回复
0
查看
896
SUNSTONE的Delphi笔记
S
S
回复
0
查看
873
SUNSTONE的Delphi笔记
S
后退
顶部