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++/CLI Discussion :

Thread et listView C++ cli


Sujet :

C++/CLI

Vue hybride

abbd Thread et listView C++ cli 28/07/2007, 23h16
nico-pyright(c) inspire toi de ce qu'il y a... 30/07/2007, 10h20
abbd Bonjour, Jai fais comme... 31/07/2007, 09h15
nico-pyright(c) l'exemple de la faq... 31/07/2007, 09h19
abbd Rebonjour, oui, je veux... 31/07/2007, 09h25
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Par défaut Thread et listView C++ cli
    Bonjour;

    jai créer un Thread qui met a jour une listView, et a l'execution il y'a une exception :

    An unhandled exception of type 'System.InvalidOperationException' occurred in System.Windows.Forms.dll

    Additional information: Cross-thread operation not valid: Control 'listView2' accessed from a thread other than the thread it was created on.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    delegate void DelegateThreadTask();
    .
    .
    .
     
    private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
    Threading::Thread(gcnew ThreadStart(this, &Form1::Traitement));
    t->Start();
     
    }
    .
    .
    .
     
    void Traitement( )
    { while(true) {ThreadTask();Thread::Sleep(100);}
     
    }
     
     
    void ThreadTask() 
    {listView2->Items->Add("zezeze");
     
    DelegateThreadTask ^ er = gcnew DelegateThreadTask(this, &Form1::ThreadTask);
    Invoke(er); 
    }

    comment écrire dans la listView??

    Merci énormement

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    inspire toi de ce qu'il y a dans la faq http://dotnet.developpez.com/faq/cpp...trolFromThread

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Par défaut
    Bonjour,

    Jai fais comme l'exemple, et il y'a tjs une exception aprés la listView, je crois que le thread initial est le seule qui a le droit d'ecrire et de lire, et comme jai créer un autre thread, il beug, svp aidez moi a ecrire dans listView,

    Merci

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    l'exemple de la faq fonctionne correctement

    le but c'est quoi ? d'alimenter une listview à intervalle régulier ?

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Par défaut
    Rebonjour,

    oui, je veux ecrire dans un listView dans un inervalle régulier, il me fais cette erreur :

    An unhandled exception of type 'System.InvalidOperationException' occurred in System.Windows.Forms.dll

    Additional information: Cross-thread operation not valid: Control 'listView2' accessed from a thread other than the thread it was created on.


    sans listView, il marche correctement un loop, mais des que j'ajoute unlistView, il y'a exception,

    jai trouvé plein d'exemple, et aucun d'entre eux ne marche,

    merci infiniment

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    et pourquoi tu passes pas par un timer au fait ? t'as essayé ?

Discussions similaires

  1. [VB2008] Threads et ListView
    Par Tagazog dans le forum VB.NET
    Réponses: 8
    Dernier message: 25/11/2008, 19h56
  2. listView c++ cli
    Par abbd dans le forum C++/CLI
    Réponses: 18
    Dernier message: 02/01/2008, 09h32
  3. [C++/CLI] Méthode cyclique dans thread principal
    Par Plio dans le forum C++/CLI
    Réponses: 4
    Dernier message: 09/10/2007, 15h19
  4. Colorer un Item de la listView C++ CLI
    Par abbd dans le forum C++/CLI
    Réponses: 1
    Dernier message: 25/07/2007, 15h10
  5. Threads et données d'un listview.
    Par azerty53 dans le forum VB.NET
    Réponses: 10
    Dernier message: 06/06/2007, 20h37

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