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

WinDev Discussion :

Problème en fermeture d'une fenêtre [WD10]


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 96
    Points : 29
    Points
    29
    Par défaut Problème en fermeture d'une fenêtre
    Salut

    J'ai un problème c'est que au moment se connecte à mon compte d'utilisateur la fenêtre de connexion ne se ferme pas et ce défaut ce voit bien après l'ouverture de l'interface principale de mon logiciel.

    Cette vidéo vous montre le problème plus détaillé:

    http://www.youtube.com/watch?v=PqIiD...ature=youtu.be

    Voilà le code que j'ai met au bouton OK de la fenêtre de connexion:

    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
    HLitRecherche(Securite,Nom,Utili)
    TANTQUE PAS HEnDehors(Securite)
    	SI Securite.Nom= Utili ET Securite.Mpasse= SAIS_MDP ALORS 
    		Ouvre(départ)
    	SINON
    		SI Securite.Nom= 0 ET Securite.Mpasse= SAIS_MDP ALORS
    			Erreur("Le nom d'utilisateur ou le mot de passe est introuvable")
    			RAZ(Vrai)
    			EcranPremier(Utili)
    			RETOUR	
    		SINON
    			Erreur("Le nom d'utilisateur ou le mot de passe est introuvable")
    			RAZ(Vrai)
    			EcranPremier(Utili)
    			RETOUR
    		FIN
    	FIN
    	Ferme
    FIN

  2. #2
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Il ne faut pas utiliser Ouvre(départ) dans ce cas. La fonction Ouvre de windev ouvre une fenêtre en modal, ce qui signifie, que l'on ouvre la fenêtre et que l'on attend qu'elle soit fermée pour exécuter la suite du code. Du coup dans l'exemple précédent, la fonction Ferme() n'est appelé que lorsque la fenêtre Départ est elle même fermé.

    Il faut donc faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    OuvreSoeur(départ)
    Ferme()
    La fonction OuvreSoeur() est non modale, donc non bloquante, la ligne Ferme() est donc exécuté juste après et va ferme la fenêtre.

    Autre solution, masquer la fenêtre de saisie du code et lancer l'ouverture de la suivante.

    J'ai eu pas mal de soucis concernant le flux du code exécuté lors des ouvertures/fermetures de fenêtres sous Windev.

    Autre solution, la fonction Utilise() permet d'ouvrir une fenêtre en fermant toutes les autres, mais il faut faire attention, l’évènement SurFermeture des fenêtres fermées n'est pas exécutés dans ce cas là.

    Dernière solution, qui reste d'après moi la plus propre, est de gérer les ouvertures/fermetures de fenêtres par un code qui ne soit pas dans une fenêtre.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 96
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par DelphiManiac Voir le message
    Il ne faut pas utiliser Ouvre(départ) dans ce cas. La fonction Ouvre de windev ouvre une fenêtre en modal, ce qui signifie, que l'on ouvre la fenêtre et que l'on attend qu'elle soit fermée pour exécuter la suite du code. Du coup dans l'exemple précédent, la fonction Ferme() n'est appelé que lorsque la fenêtre Départ est elle même fermé.

    Il faut donc faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    OuvreSoeur(départ)
    Ferme()
    La fonction OuvreSoeur() est non modale, donc non bloquante, la ligne Ferme() est donc exécuté juste après et va ferme la fenêtre.

    Autre solution, masquer la fenêtre de saisie du code et lancer l'ouverture de la suivante.

    J'ai eu pas mal de soucis concernant le flux du code exécuté lors des ouvertures/fermetures de fenêtres sous Windev.

    Autre solution, la fonction Utilise() permet d'ouvrir une fenêtre en fermant toutes les autres, mais il faut faire attention, l’évènement SurFermeture des fenêtres fermées n'est pas exécutés dans ce cas là.

    Dernière solution, qui reste d'après moi la plus propre, est de gérer les ouvertures/fermetures de fenêtres par un code qui ne soit pas dans une fenêtre.
    Merci beaucoup pour cette solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/03/2014, 15h36
  2. Problème de fermeture d'une fenêtre
    Par khadi8 dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 16/12/2011, 17h11
  3. [ASP.NET] Problème de fermeture d'une fenêtre
    Par Dadou74 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 08/02/2007, 09h23
  4. executer une fonction à la fermeture d'une fenêtre
    Par Oluha dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/02/2005, 09h46
  5. Arrêter un ttmt en cours, lors de la fermeture d'une fenêtre
    Par teska dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/12/2004, 14h08

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