Hallo und danke erstmal,
ich finde beide Ansätze sehr interesant.
Zitat von
jaenicke:
Hardware.Hardwareanbindung.RGZentralentyp.Enabled := UserRights.Zentralen >= 3;
Das das so geht, wusste ich bis jetzt nicht. Werde ich aber aufjedenfall in Zukunft bestimmt mal nutzen.
Zitat von
hoika:
warum Integer und nicht Boolean
Integer, da meine RadioGroup´s ja mehr Werte haben könnten als nur 1 und 0. Liegt ja daran, das ich für gewisse Menüpunkte z.B. 4 verschiedene Rechter habe.
1. AUS (Menüpunkt ist nicht sichtbar)
2. EIN (Menüpunkt ist sichtbar aber nicht nutzbar) Soll die Möglichkeit schaffen, den Funktionsumpfang zun erkennen.
3. READ (Menüpunkt sichtbar, Menü oder Konfiguration kann geöffnet werden, aber es können keine Änderungen vorgenommen werden.
4. R/W (Alles frei. Lesen wie Schreiben)
Zitat von
hoika:
Die Rechte sind durchnumeriert (Konstanten).
Das hat 2 Vorteile:
- Erweiterbar, neue Rechte bekommen einfach die nächsthöhere Nummer,
ohne das an der
DB rumgeschraubt werden muss
- In UserRights stehen nur gesetzte Rechte,
hat der User ein Recht nicht, steht nichts in der Tabelle
Es werden damit nur die gesetzten Rechte geladen -> Performance
Aber wie machst Du dann die Zuweisung. Hast Du in der Entwicklungsumgebung alles Enabled = false und Visible = false und setzt nur die Komponenten deren Nummer vorhanden ist auf Enabled oder Visible.
Schönen Abend noch
Gruss Jens