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 :

la procédure s'éxecute plusieurs fois


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 115
    Par défaut la procédure s'éxecute plusieurs fois
    Au secours!!!
    Dans mon programme j'utilise le composant DBLookUpListBox.
    Je me sert de l'évènement "onClic" de ce composant et dans les lignes de codes de cette procédure,je met un point d'arrêt.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TFrame.DBLookupListBox1Click(Sender: TObject);
    begin
      inherited;
      Valider.Enabled := false;
    end;
    Le problème est que je passe 3 fois dans cette procédure ???
    Mais pourquoi ???
    Je ne comprend absolument pas le souci ???

    J'ai essayé avec diverse composant, comme un tbutton ou un listBox pour voir si je passe également plusieurs fois dans la procédure "onCliC" de chaque composant mais il semblerait que le problème vienne de la LookUpListBox.

    Si j'en crée une autre (sur la même form ou frame) avec différents paramètres,ça fait la même chose.

    Si j'en crée une autre exactement pareil dans un autre programme , le bug n'y est plus...

    Je ne sais pas du tout dans quel direction aller pour résoudre mon problème.

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 115
    Par défaut
    Tiens, bizarre!

    Lorsque j'exécute ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MessageDlg('Test',mtCustom,mbOkCancel,0);
    à l'intérieur de mon "OnClic" du composant DBLookUpListBox, je n'ai plus de problème, la procédure s'exécute normalement ,c'est a dire une seule fois.

  3. #3
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Salut;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TFrame.DBLookupListBox1Click(Sender: TObject);
    begin
      inherited;
      Valider.Enabled := false;
    end;
    à première vue ton code est un vrai énigme!
    1. théoriquement inherited est spécifique aux constructeurs même si rien n'empêche de le trouver ailleurs et moi je me demande ce que cette instruction fait là ?
    2. Valider est un verbe mais là c'est un objet dont on ne sait sa provenance un peu d'explication peut-être qu'il est la cause de ton malheur.


    maintenant si on reprend le code du second poste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TFrame.DBLookupListBox1Click(Sender: TObject);
    begin
      ShowMessage('msg');
    end;
    ce code marche bien donc ce n'est pas le OnClick qui est le problème, donc un pas à pas te guideras visiblement sur le code qui plante...

    en attente d'une suite...

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 115
    Par défaut
    1-Pour le inherited
    Il c'est mis tout seul lorsque j'ai cliqué sur la DBLookUpListBox.
    J'ai testé en l'enlevant et ça fait la même chose.

    2-Pour le valider.enable
    Il s'agit d'une expression quelconque.
    Je peut utiliser n'importe quel autre code

    exemple:
    j'ai le même problème, sauf avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ShowMessage('msg');
    J'ai essayé de faire un pas a pas sur ces 2 codes différents mais ils ont l'air de fonctionner.
    Ils se déroule correctement puis sur le end de la procédure "ONClic"
    les deux vont dans "frxClass
    puis dans ExtCtrls

    Voila...

  5. #5
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Re;

    essaie de faire la même chose dans un nouveau projet mais pas de inherited ni de Valider juste un composant que tu lui passe le focus question de voir la réaction de l'exe.

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 115
    Par défaut
    Ça bug aussi.
    J'ai juste fait une requête "insert into" dans la procédure "OnClic".
    Et quand j'exécute le programme, la base de donnée a reçu 3 requetes...

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

Discussions similaires

  1. $.post s'éxecute plusieurs fois sur un event !
    Par toufou dans le forum jQuery
    Réponses: 5
    Dernier message: 03/03/2010, 15h44
  2. Réponses: 3
    Dernier message: 13/10/2007, 16h31
  3. [VB.NET]Procédure qui s'éxécute plusieurs fois
    Par ropiet dans le forum Windows Forms
    Réponses: 13
    Dernier message: 25/08/2006, 17h21
  4. Procédure stockée en plusieurs fois
    Par unacsed dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/08/2006, 15h49
  5. [VBA-W] Executer plusieurs fois la même procédure
    Par delamarque dans le forum VBA Word
    Réponses: 3
    Dernier message: 05/12/2005, 13h39

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