Ver Mensaje Individual
  #10  
Antiguo 09-04-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por amadis Ver Mensaje
El codigo funciona demasiado bien. Desactiva todo todo.
Por mas que el nivel de usuario sea mayor que el tag igual lo desactiva todo.
Debe ser por que consideré dar el mayor acceso en forma decreciente, si lo haces corresponder de forma directa (mayor valor = mayor acceso), basta con cambiar el condicional '<' por '>' en la función SetLevelAccess:
Código Delphi [-]
...
   if GetOrdProp(Components[i], 'Tag') > UserAccessLevel then
          SetOrdProp(Components[i], 'Enabled', Integer(False))
...

Te adjunto un demo que incluye varios edits, panel con checkbox, mainmenu, popupmenu, etc, para que puedas evaluarlo con mas comodidad.

Nota: Agregue una línea a la función SetLevelAccess para restaurar componentes desactivados ya que el acceso se fija dinámicamente mediante un SpinEdit.

Saludos.
Archivos Adjuntos
Tipo de Archivo: zip amadis.zip (4,9 KB, 20 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita