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

Dotnet Discussion :

[VB.net] ThreadSafe et Invoke


Sujet :

Dotnet

  1. #1
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 298
    Points : 156
    Points
    156
    Par défaut [VB.net] ThreadSafe et Invoke
    Bonjour à tous,

    J'ai toruvé pas mal de post à ce sujet et j'ai bien compris le principe mais je veux adapter le cas suivant:

    Je réalise une classe qui simplifie encore l'utilisation du port série à l'aide de la classe system.io.ports.serialport.

    Ma classe à donc les propriétés pour paramétrer le port série, open, close, writeString, sendFile, ...
    Egalement, ma classe doit pouvoir utiliser le thread de serialPort qui écoute le port série et lancer un event à la réception.
    Comme discuté dans beaucoup de post, cet event est lancé dans un thread autre que ma form et ne peux donc pas mettre à jour cette form.
    L'utilisation d'un délégué dans ma classe permet de retourner la données dans ma textBox mais dans le cas ou ma données dois retourner vers une combobox par exemple, comment faire?

    En fait mon but est de sortir la données du thread de serialPort pour ensuite envoyer un event "threadsafe". Ce afin d'éviter de créer un délégué dans toutes les forms qui utilisent mon port série.

    La classe de Microsoft est très bien concue mais ce thread m'ennuie.
    Précision: je ne compte bien sur pas mettre checkIllegalThreadblablabla à False (pas propre) :-)

    Merci d'avance pour vos réponses.

  2. #2
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Bonjour.

    Pour résoudre votre problème le plus simple est de faire une classe de gestion du thread de lecture des données. Ainsi vous encapsuler les appels à Invoke dans cette classe et cela vous permet d'éviter de vous retrouver avec des Invoke dans toute les forms de votre application.

Discussions similaires

  1. VB.NET Problème affichage Label suite a Invoke
    Par maxSour dans le forum Développement Windows
    Réponses: 1
    Dernier message: 22/05/2013, 14h27
  2. Conversion Invoke Delegate C# en VB.net
    Par megamario dans le forum Visual Studio
    Réponses: 0
    Dernier message: 08/04/2010, 10h47
  3. [VB.NET 1.1] [Thread] Méthode invoke
    Par toniolol dans le forum Windows Forms
    Réponses: 5
    Dernier message: 15/02/2006, 16h04
  4. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  5. Fichier PDOXUSRS.NET
    Par yannick dans le forum Paradox
    Réponses: 5
    Dernier message: 05/04/2002, 09h45

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