IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

fermer les fenetres si l'utilisateur change


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 22
    Points : 16
    Points
    16
    Par défaut fermer les fenetres si l'utilisateur change
    Bonjour a tous...

    une petite question toute simple...

    J'ai une application qui au bout d'un certain temps d'inactivité redemande l'identification de l'utilisateur.

    mon probleme vient du fait que lorsqu'un utilisateur s'identifie a nouveau mais qu'il ne possède pas les mêmes droits que l'utilisateur précedement identifié, si une fentre interdite pour lui est ouverte, elle reste ouverte... et il accède à des infos protégées...

    J'ai essayé plusieurs petites choses mais rien de tres concluant.

    En gros de ce je cherche c'est un evenement onGetFocus pour ma form et a partir de la, j'appelle une fonction qui verifie si je peux visualiser cette page, si oui c ok sinon je ferme...

    le probleme c'est l'evenement, je ne sais pas lequel prendre.

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Points : 646
    Points
    646
    Par défaut
    regarde du coté des évenements OnActivate et OnDeactivate

    L'événement OnActivate d'une fiche se produit quand la fiche devient active.

    Utilisez l'événement OnActivate pour effectuer des actions particulières quand la fiche reçoit la focalisation. Une fiche devient active quand elle obtient la focalisation, par exemple quand l'utilisateur clique dans la fiche.

    Pour les fenêtres enfant MDI (les fiches dont la propriété FormStyle a la valeur fsMDIChild), OnActivate ne se produit que si la focalisation passe d'un enfant à un autre. Si la focalisation vient d'une fenêtre qui n'est pas un enfant MDI vers un enfant MDI, l'événement OnActivate se produit pour la fiche parent MDI.

    Remarque

    C'est l'événement OnActivate de l'application (TApplication) et non pas celui de la fiche qui se produit quand Windows fait passer le contrôle d'une autre application à votre application.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    j'ai déjà essayé cet evenement et "bizarement" il ne se produit pas lorsque ma form récupere a nouveau le focus.

    Je me retrouve donc un peu bloqué.

    A tout hasard, il n'exite pas un moyen de connaitre l'ensemble des fenetres ouvertes un peu à la facon de MDIChildActive ?

    je pense que ca pourrait me sauver...

    en tout cas merci quand meme mais onActivate ne se produit pas...

  4. #4
    Membre éprouvé Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 15
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Points : 912
    Points
    912
    Par défaut
    Bonjour,

    Je suis surpris (voire je doute) queton évènement OnActivate de ta forme ne se déclenche pas.
    Tu redemande le code utilisateur sur une autre fiche ?
    Si oui dès que l'utilisateur s'est identifié il referme la fiche et alors une nouvelle fiche est active. Il faut mettre le traitement sur le OnActivate de chacune des fiches.
    Enfin bon tu accède à tes fiches via Screen.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    For i:= 0 to Screen.Formcount-1 do
      if Screen.Forms[i].
    a+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Points : 646
    Points
    646
    Par défaut
    pense aussi a réagir au OnActivate de ton application

    application.OnActivate := FormActivate;

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    merci de vos réponses...

    pour ce qui est de l'evenement onActivate, tres sincerement, il ne se déclenche pas... (c'est pour t'enlever le doute...) excepté la première fois. (apre mon create...)

    je m'en sortirais facilement avec screen.forms par contre c'est vrai que j'aurai préféré la solution du onActivate (car beaucoup plus sur!)

    si quelqu'un a une suggestion, merci d'avance

Discussions similaires

  1. Fermer une fenetre apres dialogue utilisateur
    Par HadJack dans le forum C++
    Réponses: 2
    Dernier message: 11/08/2009, 15h25
  2. Réponses: 3
    Dernier message: 26/05/2006, 17h35
  3. [VB6]Fermer les fenetres filles
    Par jerzy59 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 26/04/2006, 15h14
  4. Fermer toutes les fenetres
    Par imeys dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 09/04/2006, 12h06
  5. Empecher l utilisateur de fermer la fenetre
    Par gilles641 dans le forum Langage
    Réponses: 12
    Dernier message: 21/07/2005, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo