Bonjour,
Mon application est développéeen MDI. Les différentes feuilles sont accessibles par le biais d'un menu, gérer par un Action Manager.
Une feuille de connexion permet d'attribuer différents droits selon la fonction de l'utilisateur. La gestion des droits donne lieu à l'accessibilité de certains liens dans le menu :Quand les droits ne donnent pas accès à un feuille, l'action est à ce statut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part MonAction.Enabled := true;
Alors mon problème : je possède une feuille de connexion reliée à une base de données qui vérifie le login, le mot de passe et récupère le niveau des droits : 0, 1, 2, 10.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MonAction.Enabled := false;
Selon le niveau extrait, les actions sont gérées différemment :
Les actions de la feuille frmMain sont gérées sans problème mais celles de frmctrlmp non. J'obtient une erreur de mémoire ( comprenant uniquement des chiffres et des lettres donc problème d'adressage mémoire du système d'exploitation).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 if self.zsDroit.Text = '0' then begin showmessage('lecture'); frmMain.actParamCtrl.Enabled := false; frmMain.actSaisieCtrl.Enabled := true; frmMain.actCreateCtrl.Enabled := false; frmMain.actLog.Enabled := true; frmMain.actDeLog.Enabled := true; frmctrlmp.actAnnuler.Enabled := false; frmctrlmp.actAjouter.Enabled := false; frmctrlmp.actModifier.Enabled := false; frmctrlmp.actSupprimer.Enabled := false; frmctrlmp.actValider.Enabled := false; frmctrlmp.actCloturer.Enabled := false; frmctrlmp.actAjouterRecep.Enabled := false; frmctrlmp.actModifierRecep.Enabled := false; frmctrlmp.actSupprimerRecep.Enabled := false; frmctrlmp.actValiderRecep.Enabled := false; frmctrlmp.actAjouterRecep.Enabled := false; end;
J'ai précisé dans la partie uses :
Pour moi, l'erreur viens du fait que je modifie les propriétés d'une feuille qui n'est pas encore créé : je créais et détruis la feuille en fonction de la volonté de l'utilisateur ( click dans le menu ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 implementation uses uMain, _uData, uCtrlmp;
Je souhaite continuer à utiliser ce système de gestion des feuilles ( création et destruction ) mais du coup je ne vois pas comment résoudre mon problème !
Si vous avez la moindre idée, je suis preneuse !
NZs
Partager