1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    avril 2013
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2013
    Messages : 260
    Points : 0
    Points
    0

    Par défaut Une erreur avec listview1 avec threads

    Bonsoir,

    j'ai un message erreur quand démarre threads dans listview1 : Opération inter-threads non valide : le contrôle 'ListView1' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créé.


    le code qui a l'erreur avec threads :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 0 To ListView1.Items.Count - 1
                    Dim lvi As ListViewItem = ListView1.Items(i) <= l'erreur
    ....etc
    pouvez-vous me dire comment écrire avec listview1.items(i) avec invoke? j'ai chercher mais j'ai pas trouver la solution a mon probléme.

    Merci de votre réponse,
    cordialement,

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    février 2006
    Messages
    466
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : février 2006
    Messages : 466
    Points : 260
    Points
    260

    Par défaut

    recherche avec "Delegate"

  3. #3
    Rédacteur/Modérateur
    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    juillet 2016
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 076
    Points : 3 499
    Points
    3 499
    Billets dans le blog
    5

    Par défaut

    Bonjour,

    C'est un problème classique et il existe de nombreuses ressources pour expliquer comment faire.

    Voici un exemple trouvable sur la MSDN

    Citation Envoyé par MSDN
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    // This event handler creates a thread that calls a 
    		// Windows Forms control in a thread-safe way.
    		private void setTextSafeBtn_Click(
    			object sender, 
    			EventArgs e)
    		{
    			this.demoThread = 
    				new Thread(new ThreadStart(this.ThreadProcSafe));
     
    			this.demoThread.Start();
    		}
     
    		// This method is executed on the worker thread and makes
    		// a thread-safe call on the TextBox control.
    		private void ThreadProcSafe()
    		{
    			this.SetText("This text was set safely.");
    		}
     
    		// This delegate enables asynchronous calls for setting
    		// the text property on a TextBox control.
    		delegate void SetTextCallback(string text);
     
    		// This method demonstrates a pattern for making thread-safe
    		// calls on a Windows Forms control. 
    		//
    		// If the calling thread is different from the thread that
    		// created the TextBox control, this method creates a
    		// SetTextCallback and calls itself asynchronously using the
    		// Invoke method.
    		//
    		// If the calling thread is the same as the thread that created
    		// the TextBox control, the Text property is set directly. 
     
    		private void SetText(string text)
    		{
    			// InvokeRequired required compares the thread ID of the
    			// calling thread to the thread ID of the creating thread.
    			// If these threads are different, it returns true.
    			if (this.textBox1.InvokeRequired)
    			{	
    				SetTextCallback d = new SetTextCallback(SetText);
    				this.Invoke(d, new object[] { text });
    			}
    			else
    			{
    				this.textBox1.Text = text;
    			}
    		}
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  4. #4
    Membre expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    octobre 2008
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : octobre 2008
    Messages : 1 480
    Points : 3 052
    Points
    3 052
    Billets dans le blog
    6

    Par défaut

    Bonjour à tous,

    Si vous retracez les sujets de discussion de hacker59 vous vous rendrez compte qu'il ne souhaite pas faire fonctionner sa matière grise.......... il est donc inutile de lui proposer de lire des ressources, c'est du code prêt à l'emploi qu'il veut.......

    D'autant plus qu'il ne clos et verrouille jamais ses sujets de discussion......

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    avril 2013
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2013
    Messages : 260
    Points : 0
    Points
    0

    Par défaut

    Bonjour,
    Pour info wallace, je utilise ma matière grise avant critiquer les gens. c'est la première fois je utilise threads est j'ai trouver la solution a mon probléme.

    merci de ton aide François DORIN.

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

Discussions similaires

  1. Besoin avis pour dev avec TServerSocket (avec ou sans thread)
    Par figoleparigo dans le forum Web & réseau
    Réponses: 15
    Dernier message: 04/07/2011, 10h45
  2. une erreur à l'exécution avec un enum
    Par Virgile le chat dans le forum Langage
    Réponses: 2
    Dernier message: 10/06/2009, 18h52
  3. Réponses: 4
    Dernier message: 11/06/2008, 17h26
  4. boucle simple dans une dataGrid avec quand même une erreur !
    Par fkr dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/11/2005, 15h04
  5. Modifier le nom d'une base de donnée avec erreur sy
    Par mmn dans le forum MS SQL-Server
    Réponses: 2
    Dernier message: 25/11/2003, 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