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

C++Builder Discussion :

Execution d'une procédure en parallèle d'une autre


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Execution d'une procédure en parallèle d'une autre
    Bonjour,

    J'ai une form contenant un bouton et dans l'execution de ce bouton j'active une procédure d'une autre unité (qui n'est pas programmé par moi).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void __fastcall TDialogPumping::BOKClick(TObject *Sender)
    {
        if(TSBStart->Down)  pGlobalDecl->pPumping->Start();
     
        ModalResult = mrOk;
    }
    Mon problème, c'est que mon bouton attend la fin de l'execution de la procédure de mon collègue pour continuer et moi j'aimerais que l'execution se termine sans attendre !

    Avez-vous une idée de comment je pourrais faire ?

    Si ce n'est pas clair faite le moi savoir !

    Véro

  2. #2
    ubu
    ubu est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 38
    Points : 47
    Points
    47
    Par défaut
    Peut être créer un thread qui ne contiendra dans sa méthode Execute() que l'appel a cette procédure. Puis dans le code du bouton, créer une instance de ce thread...

  3. #3
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    Salut,
    avec la solution précédemment posée tu risques des problèmes de synchronisation avec le Thread VCL Principal
    tu peux utiliser les messages Windows
    pour ce faire
    • crée un nouveau type de message
      crée une méthode de gestion pour ce message(voir l'aide C++ Builder)
      dans le corps de cette méthode appelle ta procédure étrangère
      depuis le gestionnaire onClick de ton bouton crée un appel a cette méthode avec l'API windows PostMessage

    PostMessage n'est pas bloquant

    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Merci, j'avais aussi penser aux messages windows mais je me demandais si il n'y avait pas une autre solution !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/10/2015, 10h00
  2. Réponses: 6
    Dernier message: 22/12/2011, 16h26
  3. Réponses: 7
    Dernier message: 27/06/2011, 15h56
  4. Réponses: 0
    Dernier message: 11/09/2009, 18h25
  5. Réponses: 10
    Dernier message: 13/10/2008, 14h42

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