Hola mantraxer21.
Es muy vaga la descripción de la situación como para dar un ejemplo en concreto, pero agrego otra variante a las que ya te ha sugerido Nelson.
Código Delphi
[-]
procedure MenuesLevelAccess(aForm: TForm; const UserLevel: Integer);
var
i,j: Integer;
begin
with aForm do
for i:= 0 to ComponentCount-1 do
if Components[i] is TMenuItem then
with TMenuItem(Components[i]) do
Enabled := Tag <= UserLevel;
end;
Ejemplo de uso:
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
begin
with MainMenu1 do
begin
with Items[0] do
begin
Items[0].Tag := 1; Items[1].Tag := 2;
Items[2].Tag := 3;
Items[3].Tag := 4;
Items[4].Tag := 5; end;
end;
with PopupMenu1 do
begin
Items[0].Tag:= 1;
Items[1].Tag:= 2;
Items[2].Tag:= 3;
Items[3].Tag:= 4;
Items[4].Tag:= 5;
end;
MenuesLevelAccess(Form1, 0); end;
...
procedure TForm1.btnUserLogClick(Sender: TObject);
begin
...
MenuesLevelAccess(Form1, UserLevelAccess);
end;
Saludos.