Probleme backgroundworker et inter-thread ??? [Résolu]

geoffreyjt 26 Messages postés jeudi 26 février 2009Date d'inscription 28 février 2016 Dernière intervention - 20 mai 2012 à 12:29 - Dernière réponse :  Utilisateur anonyme
- 20 mai 2012 à 23:16
bonjour a tous

jai une boucle a faire , pour copier des truc , mais ma form "freeze"

c'est pourquoi , je veux utiliser un "backgroundworker" , mais jai des erreurs "inter-thread"

je n'y connais pas grand chose , lol

voici la boucle

 For index = 1 To DataSetList.Tables("Table1").Rows.Count
            If ComboBoxType.Text = ("Dossier") Then
                My.Computer.FileSystem.CopyDirectory(ComboBoxFichierSource.Text, ComboBoxFichierCible.Text & "" & ComboBoxNomDuFichier.Text, FileIO.UIOption.AllDialogs)
            ElseIf ComboBoxType.Text = ("Fichier") Then
                My.Computer.FileSystem.CopyFile(ComboBoxFichierSource.Text, ComboBoxFichierCible.Text & "" & ComboBoxNomDuFichier.Text, FileIO.UIOption.AllDialogs)
            End If
            If DataSetList.Tables("Table1").Rows.Count = 0 Then
                MsgBox("Rien a ajouter")
                Exit Sub
            End If
            Dim row As DataRow = DataSetList.Tables("Table1").Rows(ComboBoxFichierSource.SelectedIndex)
            DataSetList.Tables("Table1").Rows.Remove(row)
        Next

pouver vous m'aidez svp
merci
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
geoffreyjt 26 Messages postés jeudi 26 février 2009Date d'inscription 28 février 2016 Dernière intervention - 20 mai 2012 à 19:30
3
Merci
voila , j'ai trouver :) merci beaucoup

D'un point de vu sécurité il est interdit à un Thread de pouvoir modifier un composant graphique qu'il n'a pas crée lui-même. Ca permet d'éviter des conflit d'accès aux ressources.
Mais il y a moyen de supprimer cette sécurité :

CheckForIllegalCrossThreadCalls = false; pose cette ligne de code avant de faire le start de ton premier Thread et ca devrait marché sans pb !

Bonne chance

sur
http://www.developpez.net/forums/d169210/dotnet/developpement-windows/windows-forms/csharp-cross-thread-operation-not-valid/

merci :)

Merci geoffreyjt 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de geoffreyjt
NHenry 14250 Messages postés vendredi 14 mars 2003Date d'inscription 10 août 2018 Dernière intervention - 20 mai 2012 à 13:33
0
Merci
Bonjour,

Regardes de ce coté :
http://www.codeproject.com/Articles/15861/How-to-solve-quot-Cross-thread-operation-not-valid
http://www.developpez.net/forums/d169210/dotnet/developpement-windows/windows-forms/csharp-cross-thread-operation-not-valid/

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Commenter la réponse de NHenry
geoffreyjt 26 Messages postés jeudi 26 février 2009Date d'inscription 28 février 2016 Dernière intervention - 20 mai 2012 à 18:58
0
Merci
merci je vais jeter un oeuil
Commenter la réponse de geoffreyjt
Utilisateur anonyme - 20 mai 2012 à 19:59
0
Merci
Bonsoir,
CheckForIllegalCrossThreadCalls = false



Utilise plutôt un délégué à la place de cette horreur!
Commenter la réponse de Utilisateur anonyme
NHenry 14250 Messages postés vendredi 14 mars 2003Date d'inscription 10 août 2018 Dernière intervention - 20 mai 2012 à 20:19
0
Merci
Bonjour,

Comme Banana32, je te conseil plutôt les Délégué, car le fait d'ignorer cette erreur, augmente sensiblement le risque d(incohérence dans ton programme.

Quand on utilise les threads, soit on le fait bien, soit on ne le fait pas.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Commenter la réponse de NHenry
Utilisateur anonyme - 20 mai 2012 à 23:16
0
Merci
Bonsoir NHenry,
Merci d'avoir détaillé le problème plus calmement
Bonne nuit
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.