Bonjour à tous,

J'ai développé une application de type MDI. Les différentes feuilles sont accessibles par un menu. Le menu est géré par des actions : ces actions indiquent l'activation ou non de la feuille pointée et du 'lien'.

Je gère des droits utilisateurs : selon le statut, une personne aura accès à plus de parties du menu qu'une autre.

J'ai donc une fenêtre de connexion. Une fois la connexion réalisée ( vérification de la cohérance du nom d'utilisateur et du mot de passe avec la base de donnée), je stocke dans une variable intDroit les droits extraits de la requête SQL.

Dans ma feuille principale ( socle de ma structure MDI), j'ai besoin d'exécuter ce code dès que l'utilisateurs ferme la feuille de connexion et souhaite en ouvrir une autre :

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
21
  if intDroit = 404 then
    begin
      self.actLog.Enabled := true;
      self.actDeLog.Enabled := false;
    end;
  if intDroit <> 404 then
    begin
      self.actLog.Enabled := false;
      self.actDeLog.Enabled := true;
    end;
  if (intDroit = 2) or (intDroit = 10) then
    begin
      self.actParamCtrl.Enabled := true;
      self.actCreateCtrl.Enabled := true;
    end
  else
    begin
      self.actParamCtrl.Enabled := false;
      self.actCreateCtrl.Enabled := false;
    end;
    self.zsDroit.Text := inttostr(intDroit);
En cas de problème, je fais figurer dans une zone de saisie la valeur du droit. Cette zone est contenue dans un panneau de ma feuille principale. Sur l'évènement onActivate, je dois aller cliquer sur la zone de saisie pour que les nouveaux droits soient pris en compte. La feuille étant créée une fois et devant gérer de multiples connexion et déconnexion, je ne me pas insérer mon code dans le onCreate.

Après recherche dans l'aide, je ne trouve pas l'évènement qui correspondrait le mieux !

En espérant avoir été assez claire, je vousz remercie par avance !

NZs