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 :

Thread -> Utiliser Synchronize() dans une fonction


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Points : 27
    Points
    27
    Par défaut Thread -> Utiliser Synchronize() dans une fonction
    Bonjour à tous,
    j'utilise dans mon programme un thread qui appelle une fonction.
    Dans cette fonction, je dois mettre à jour des labels sur la Form1.
    J'ai essayé de faire Form1->Label1->Caption=a mais le programme plante avec comme message "Le canavas ne permet pas de dessiner".
    Je n'es pas trouvé le moyen d'utilisé la fonction Synchronize() dans une fonction. Synchronize() permet de mettre à jour les compossants d'une fiche.
    Donc ma question est comment utilisé Synchronize() dans une fonction qui est appellée par un thread.

    Merci d'avance pour votre aide!

  2. #2
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    La fonction appele par ton thread, elle est situé ou, dans la classe du Thread ou dans une autre classe ?
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Points : 27
    Points
    27
    Par défaut
    Je comprend pas ce que tu veux dire, qu'es ce qu'une classe?
    Autrement la fonction est déclaré sur la page du thread et se situe également sur la page du thread.

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Citation Envoyé par Futixu
    Je comprend pas ce que tu veux dire, qu'es ce qu'une classe?
    Autrement la fonction est déclaré sur la page du thread et se situe également sur la page du thread.
    Alors de toute urgence : lis un tutoriel de C++ de base...

    Ensuite ta méthode que tu donnes en paramètre de Synchronize ne doit pas se situer dans le Thread mais en dehors, par exemple dans la ta fenêtre principale.
    Enfin il me semble j'ai pas l'aide de C++ Builder sous la main. Donc si qqn pouvait vérifier.

    @+
    Neilos

  5. #5
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    En effet il est urgent que tu lise un cours ou un tutoriel sur le C++, car la classe est la base du C++, si tu ne sait pas ce que c'est tu va droit dans le mur (a mon himble avis ).

    Ici le Synchronize doit se citué dans la fonction et doit contenir Form1->Label1->Caption=a pour faire ceci :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void classeThread::Mafonction(void){
      Synchronize(Form1->Label1->Caption=a) ;
    }
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Points : 27
    Points
    27
    Par défaut
    Merci à vous j'ai compris

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

Discussions similaires

  1. Utiliser variable dans une fonction
    Par mikael2235 dans le forum Langage
    Réponses: 1
    Dernier message: 27/02/2012, 14h39
  2. Utiliser un " dans une fonction comme séparateur
    Par nuFox dans le forum WinDev
    Réponses: 3
    Dernier message: 18/02/2009, 16h38
  3. L'utilisation de synchronized dans une application multi-thread
    Par Tigrounette dans le forum Général Java
    Réponses: 9
    Dernier message: 08/04/2008, 11h52
  4. Peut-on utiliser RECHERCHEV dans une fonction ?
    Par dany13 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/02/2008, 16h14
  5. Utilisation de Getdate dans une fonction
    Par BaronSamdi dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/11/2004, 10h12

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