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

VB.NET Discussion :

problème thread courbe


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 10
    Points : 3
    Points
    3
    Par défaut problème thread courbe
    Bonjour,
    Je viens demander votre expertise pour m'aider à résoudre mon problème car là où je vous parle je ne trouve aucune logique dans l'erreur.
    J'ai créé deux thread synchronisés, le premier lit 10 trames et en donne la main au deuxième qui trace et après donne la main au premier ainsi de suite mais il me sort :InvalidOperationException a été générée, la collection a été modifié.Le code est la suite:

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    Private Sub courbe()
            Dim i, ml As Integer
     
            Dim tableau111(1000), tableau222(1000) As Integer
            ml = 1
     
            With cmsg1
                .l_id = 616
                .by_len = 1
                .by_extended = 0
                .by_remote = 0
                .by_data_0 = 10
                .by_data_1 = 0
                .by_data_2 = 0
                .by_data_3 = 0
                .by_data_4 = 0
                .by_data_5 = 0
                .by_data_6 = 0
                .by_data_7 = 0
            End With
     
            With cmsg2
                .l_id = 607
                .by_len = 1
                .by_extended = 0
                .by_remote = 0
                .by_data_0 = 50
                .by_data_1 = 0
                .by_data_2 = 0
                .by_data_3 = 0
                .by_data_4 = 0
                .by_data_5 = 0
                .by_data_6 = 0
            End With
            fncanConformedTransmit(canHandle, cmsg1, 1)
            fncanConformedTransmit(canHandle, cmsg2, 1)
            Dim Hour As Integer = Microsoft.VisualBasic.DateAndTime.Hour(Now)
            Dim Minutes As Integer = Microsoft.VisualBasic.DateAndTime.Minute(Now)
            Dim Second As Integer = Microsoft.VisualBasic.DateAndTime.Minute(Now)
     
            While i < 1000
     
                fncanRead(canHandle, cmsg_Message, 1)
     
                If cmsg_Message.l_id = "614" And verificationbool Then
                    Hour = Microsoft.VisualBasic.DateAndTime.Hour(Now)
                    Minutes = Microsoft.VisualBasic.DateAndTime.Minute(Now)
                    Second = Microsoft.VisualBasic.DateAndTime.Second(Now)
     
     
                    tableau111(i) = cmsg_Message.by_data_2 + cmsg_Message.by_data_3 * 256
                    tableau222(i) = cmsg_Message.by_data_4 + 256 * cmsg_Message.by_data_5
                    tableautempss(i) = Hour & ":" & Minutes & ":" & Second
     
                    TextBox1.Text = "PWM: " & tableau111(i) & vbNewLine & "Vitesse à pompe: " & tableau222(i) & vbNewLine & "Acquisition: " & ml
                    ml += 1
                    i += 1
     
                End If
                If i = 10 And verificationbool Then
                    Try
                        For k As Integer = 0 To 9
                            inttableau(k) = tableau222(k)
                            inttabheure(k) = tableautempss(k)
                        Next
                        tempsobject = inttabheure
                        VitPompLiants = inttableau
     
                        mutex1.Set()
                        verificationbool = False
     
                        i = 0
     
     
                    Catch ex As Exception
                        MsgBox("Erreur")
                    End Try
     
     
                End If
     
            End While
        End Sub
     
        Private Sub dessiner()
            While 1
                mutex1.WaitOne()
                verificationbool = False
                verificationlecture = False
                Tracer(1, VitPompLiants, 1, tempsobject)
                lm += 1
                TextBox2.Text = "Courbe numéro: " & lm
                mutex1.Reset()
                verificationbool = True
                verificationlecture = True
            End While
     
     
        End Sub

  2. #2
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    Par défaut
    Salut,
    Pourquoi ouvrir une nouvelle discussion ? : https://www.developpez.net/forums/d1...eme-vb-thread/
    Merci de ainsi que d'utiliser les boutons et

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par r.morel Voir le message
    Salut,
    Pourquoi ouvrir une nouvelle discussion ? : https://www.developpez.net/forums/d1...eme-vb-thread/
    Bonjour,
    Comme j'ai changé l'architecture c'est pour cela.Pour information j'ai mis la balise code.

Discussions similaires

  1. [Problème] Threads et JProgressBar
    Par Bloodscalp dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 10/10/2006, 15h19
  2. Problème thread et fonction récursive
    Par cryptorchild dans le forum Langage
    Réponses: 3
    Dernier message: 27/09/2006, 12h19
  3. Problème thread Boost
    Par TuRn3r dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 01/06/2006, 18h34
  4. Problème Thread et Scan de dossiers en C
    Par tptiben dans le forum Windows
    Réponses: 8
    Dernier message: 15/05/2006, 18h25
  5. Problème Thread
    Par Royd938 dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 07/04/2006, 09h10

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