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 :

Bouton disponible pendant un traitement [WD12]


Sujet :

WinDev

  1. #1
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut Bouton disponible pendant un traitement
    Bonjour,

    j'ai un traitement dans une application, qui remplit une table par programmation et qui met plus au moins de temps selon les filtres (pouvant être > 1 minute), est il possible pendant ce temps de chargement de rendre un bouton accessible (genre "Annuler") pour permettre à l'utilisateur de reprendre la main si le temps de réponse est trop long ?
    Aucune aide par MP, utilisez le forum.

  2. #2
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Bonjour à toi,

    La réponse est oui, si tu mets ton traitement dans un thread afin de ne pas bloquer le thread principal qui reçoit les événements graphiques.
    «Un problème bien défini est un problème à moitié résolu.»

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Ou plus simplement :
    Placer l'instruction dans ta boucle de lecture

  4. #4
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Ok ça marche bien
    Mais pour stopper la procédure, j'ai un peu de mal à m'imaginer comment faire.
    Je connais que les fonctions RETOUR et SORTIR mais faut qu'elle soit dans le traitement or, moi au moment du clic sur le bouton annuler je suis en dehors du traitement.
    Aucune aide par MP, utilisez le forum.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Si le bouton ferme la fenêtre, alors le problème est simple, il fermera et arretera le code. Si le bouton doit arreter un chargement, alors moi je mettrait un booléen bContinuerTraitement, que j'initialise à vrai au lancement de ma boucle.
    Ensuite, ne continuer la boucle que si ce booléen est vrai, et ton bouton annuler fait bContinuerTraitement = Faux.

  6. #6
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Merci, c'est ce que j'ai fait, j'ai écris avant de réfléchir
    Aucune aide par MP, utilisez le forum.

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Citation Envoyé par Bowen Voir le message
    Ou plus simplement :
    Placer l'instruction dans ta boucle de lecture
    C'est quand même plus propre de mettre le traitement dans un thread

  8. #8
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    J'ai fait un essai avec les threads, en TSE. Lorsque j'avais deux threads en même temps le programme se plantait souvent.
    C'est probablement dû à mon infrastructure, mais ça ne tournait pas, je les ai débranché presque aussitôt.
    La particularité est : serveur TSE, 15 utilisateurs utilisant un même exe. J'ai toujours supposé que c'était leproblème, car seul sur mon poste de dev ça tournait.
    L'avantage de la méthode thread est probablement que les HExecuteRequeteSQL sur des requêtes longues ne doivent pas bloquer l'interface. Ca c'est appréciable.

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

Discussions similaires

  1. [SwingWorker]Changer le label d'un bouton pendant un traitement
    Par lirycs78 dans le forum EDT/SwingWorker
    Réponses: 1
    Dernier message: 19/06/2011, 16h20
  2. Changement du nom du bouton pendant le traitement
    Par g25452 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 07/08/2008, 21h18
  3. Réponses: 1
    Dernier message: 28/01/2006, 14h03
  4. [vb.net] Modification d'une winform pendant un traitement
    Par arnolem dans le forum Windows Forms
    Réponses: 4
    Dernier message: 25/11/2005, 18h16
  5. Rafraichissement de la fenetre pendant le traitement
    Par Bobx dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/02/2003, 15h13

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