12287:
> Van egy alkalmazasod sok sok gombbal, mondjuk
legyen valami kritikus alkalmazas... hmmm > A
programot sokan hasznalhatjak, mindenki mas mas
jogkorrel, pl a forgalom iranyitok
> Kepzeld magad a programozo helyebe. Mi a helyes
filozofia? A kepernyon levo gombok
> mindegyiket le kell tiltani, es megjeleniteskor
csak azokat felengedni, amikot meg
> szabad nyomnia az adott felhasznalonak, vagy az,
hogy minden gombot engedunk, es
> megjeleniteskor azokat tiltjuk le, amiket nem
szabad megnyomni?
Ezt nem ertem. Megjelenites elott beallitod, hogy
melyik van tiltva, es melyik nincs. Utana jelenited
meg az ablakot. (Elobb osszeszereled, aztan beallitod
azt, hogy melyik kontrol engedelyezett, aztan
megjelenited.) Ha megis elobb akarod megjeleniteni
(amire semmi okod sem lehet), akkor termeszetesen
onnan indulsz, hogy minden le van tiltva, mert
kulonben rovid ideig azok a kontrolok is elerhetoek,
amiknek nem kene annak lenniuk. (Es hogy mennyi ez a
rovid ido, az nagyon sok mindentol fugg egy
multitasking oprendszer eseteben.) Vagy esetleg ha
becsuszik egy hiba, es feluton leall a kezelo elemek
letiltogatasa, akkor isszopas van. Es ezt nem csak
kritikus alkalmazasok eseten kell igy csinalni, hanem
mindig.
> Ha hibazol, marpedig hibazol... akkor az elso
esetben azok sem nyomhatjak meg a gombok
> egy reszet, akiknek amugy szabad volna, sot
kotelessege lenne, a masik esetben meg azok
> is nyomkodhatnak, akinek semmi kozuk hozza.
Termeszetesen a jogosultsag kezeles nem a UI-on
keresztul valosul meg, hanem a tenyleges
programlogikaban. Azaz hiaba nyomogatja a
vezerigazgato a veletelnul engedelyezett gombot, nem
tortenik semmi, csak kap egy uzenetet, hogy ehhez
nincs jogosultsaga, plusz az alkalmazas naplozza az
esemenyt, igy kesobb javithato lesz a hiba.