Probleme backgroundworker et inter-thread ???

Résolu
geoffreyjt Messages postés 26 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 28 février 2016 - 20 mai 2012 à 12:29
 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
A voir également:

6 réponses

geoffreyjt Messages postés 26 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 28 février 2016
20 mai 2012 à 19:30
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 :)
3
NHenry Messages postés 15083 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 septembre 2023 159
20 mai 2012 à 13:33
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
0
geoffreyjt Messages postés 26 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 28 février 2016
20 mai 2012 à 18:58
merci je vais jeter un oeuil
0
Utilisateur anonyme
20 mai 2012 à 19:59
Bonsoir,
CheckForIllegalCrossThreadCalls = false



Utilise plutôt un délégué à la place de cette horreur!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15083 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 septembre 2023 159
20 mai 2012 à 20:19
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
0
Utilisateur anonyme
20 mai 2012 à 23:16
Bonsoir NHenry,
Merci d'avoir détaillé le problème plus calmement
Bonne nuit
0
Rejoignez-nous