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

Composants VCL Delphi Discussion :

problème avec click bouton


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 298
    Par défaut problème avec click bouton
    Bonjour,

    J'ai Delphi 2010.
    J'ai un petit souci et ne sait comment le résoudre.
    J'ai un sous programme très long (en temps de calcul) qui est lancé (appelé) par un click d'un button. Le problème est que, quand, par inadvertance, je re-click sur ce button avant la fin du calcul, le sous programme est relancé.
    J'ai essayé de mettre au début du sous programme un enabled=false du button et de le remettre à true à la fin du calcul. Cela ne fait rien, un 2ème click relance le programme. Devrais-je ajouter un application doevents après le "enabled=false" ou lancer le programme par un double-click ?

    Merci d'avance pour l'aide que vous pourrez m'apporter.

    Fred

  2. #2
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    bonjour; si vous faite la propriété du bouton enabled=false : je crois que nous vous pouvez pas cliquer sur le bouton.
    j'utilise la même méthode :
    b1.enabled:= false; ==> la 1 ligne du programme.
    b1.enabled:=true;==> derniere lignes du programe.
    sinon y'as d'autres methode tel que :
    *) utilisation d'un tprogresse bar si le calcule prend beaucoup de temps.
    *) utilisation d'une requête c'est plus rapide....

  3. #3
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut
    Bonjour,

    essaye de mettre un application.processmessages après avoir positionné le enabled à false. Il est possible en effet que windows n'ai pas le temps de traiter tous ses messages avant que le traitement long ne commence.

    Et pour blinder, tu peux aussi utiliser une variable qui indique si le traitement est en cours. Ainsi tu la test avant de commencer. Si pas en cours tu la positionne et tu fais ton traitement. A la fin de celui-ci (idéalement à l'intérieur d'un try..finally) tu remets la variable à son statut initial.

    @++
    Dany

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 298
    Par défaut
    Bonjour Skywaukers,

    J'ai essayé avec application.processmessages après le enabled = false et ça ne marche pas.
    J'ai aussi essayé en faisant onclick(btn) := nil et ça ne marche pas non plus.
    Auparavant j'avais aussi utilisé une variable (genre calculfait=true ou false) mais je voulais fignoler avec une astuce plus subtile.

    Merci quand même.

    Fred

Discussions similaires

  1. Problème avec 2 boutons submit
    Par STB_Fk dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 16/11/2006, 10h23
  2. probléme avec un bouton recommencer
    Par mademoizel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 07/06/2006, 17h27
  3. Problème avec un bouton TBitBtn
    Par kurul1 dans le forum C++Builder
    Réponses: 8
    Dernier message: 02/05/2006, 10h41
  4. Problème avec les boutons d'options
    Par Le Rebel dans le forum Langage
    Réponses: 3
    Dernier message: 07/02/2006, 12h12
  5. Problème avec les boutons de perl Tk
    Par jkevin2 dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 02/09/2005, 17h18

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