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

Windows Forms Discussion :

[VB.NET2.0] lire avec Serialport


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut [VB.NET2.0] lire avec Serialport
    Bonjour,

    j'essaye de lire des données avec le composant SerialPort mais ça bug : que dois-je faire ?

    code pour lire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub SerialPort1DataReceived(sender As Object, e As System.IO.Ports.SerialDataReceivedEventArgs)
    		Dim MaChaine As String
    		MaChaine = Me.SerialPort1.ReadExisting
    		Me.TextBox2.Text = MaChaine
    End Sub
    message d'erreur lors de l'execution du programe lorsqu'il reçoit une data
    Exception System.InvalidOperationException was thrown in debugee:
    Cross-thread operation not valid: Control 'textBox2' accessed from a thread other than the thread it was created on.

    get_Handle()
    set_WindowText()
    set_WindowText()
    set_Text()
    set_Text()
    set_Text()
    SerialPort1DataReceived() - C:\Documents and Settings\...\Mes documents\SharpDevelop Projects\Test Port Serie\MainForm.vb:22,3
    CatchReceivedEvents()
    CallReceiveEvents()
    WaitCallback_Context()
    runTryCode()
    RunInternal()
    Run()
    PerformWaitCallback()

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 238
    Par défaut
    Bon encore une fois (ca fait 3 fois aujourd'hui que je répond à la même question)

    Je suppose que ta fonction est éxecuté par un Thread et le problème viens de la !

    Les thread ne peuvent pas acceder à un composant graphique. C'es tune question de sécurité afin d'évité les conflits d'accès aux ressources. Pour désactivé cette sécurité il te faut utlisé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CheckForIllegalCrossThreadCalls = false;
    Pose cette ligne de code avant de faire le start de ton Thread.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    Citation Envoyé par Biloutor
    Les thread ne peuvent pas acceder à un composant graphique. C'es tune question de sécurité afin d'évité les conflits d'accès aux ressources.
    => mais si j'utilise ta commande, ne risquerais-je pas de faire planter mon appli ?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 238
    Par défaut
    Je l'utilise beaucoup et pour l'instant je n'ai pas de problème. Mon appli est assez lourde et je n'ai pas encore rencontrer les limites de cette solution.
    Sinon sur ce post une autre solution est précisé.

    http://www.developpez.net/forums/sho...d.php?t=169210

    Cependant ma solution fonctionne bien et si tu as un seul Thread qui accède a ta ressource je ne pense pas que ca puisse posé de problème. Après à toi d'évaluer les risques en fonction de ton appli.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    d'accord, merci

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

Discussions similaires

  1. [WinForms][.NET2.0]Bug avec des contrôles "Generic"
    Par NicolasJolet dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 17/07/2008, 10h22
  2. [C# ASP.Net2.0] problem avec le type string
    Par wodel dans le forum ASP.NET
    Réponses: 5
    Dernier message: 17/01/2007, 14h03
  3. [C#] Probleme avec SerialPort
    Par duky02 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/07/2006, 08h54
  4. [VB.NET2.0] Utilisation de SerialPort
    Par Emcy dans le forum Windows Forms
    Réponses: 8
    Dernier message: 03/07/2006, 12h58
  5. [C# 2005] Reception texte avec SerialPort
    Par FredericB dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/06/2006, 09h27

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