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.NET] Contôles créés sur un autre thread


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut [VB.NET] Contôles créés sur un autre thread
    Bonjour,
    j'ai un souci avec l'execution asynchrone d'un WebService qui me retourne un DataSet.
    Voici le code :
    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
     Private Sub ChargeDGMessages()
         Try
             'Appel du webservice
             Dim ascb As AsyncCallback = New AsyncCallback(AddressOf threadCharge)
             WS.BeginMessageMontre(ascb, WS)
         Catch ex As Exception
             MessageBox.Show(ex.ToString())
         End Try
     End Sub
     'Thread de ws asynchrone
     Private Sub threadCharge(ByVal Reponse As IAsyncResult)
         Try
             Dim WS As WsPosition.InfoPosition = CType(Reponse.AsyncState, WsPosition.InfoPosition)
             dgMessages.DataSource = WS.EndMessageMontre(Reponse)
         Catch ex As Exception
             MessageBox.Show(ex.ToString())
         End Try
     End Sub
    Et c'est la ligne où j'assigne le DataSet au DataGrid que j'obtiens ce message :
    Comment puis-je faire, autrement que dans un timer pour binder mon DataGrig ?

  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
    Par défaut
    Salut .

    il faut que tu déportes l'assignation dans une méthode que tu appeleras grâce à la méthode Invoke de ton controle DataGrid.

  3. #3
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut
    Merci je note ça et je teste lundi !
    Je ne suis pas sûr d'avoir compris, on verra !

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

Discussions similaires

  1. Un control d'une forme sur un autre thread?
    Par Eric_M dans le forum VB.NET
    Réponses: 5
    Dernier message: 25/01/2011, 03h58
  2. Réponses: 5
    Dernier message: 04/01/2008, 09h55
  3. Réponses: 2
    Dernier message: 10/07/2006, 11h08
  4. [VB.NET] Comment recuperer de donnée sur une autre form?
    Par weelo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/04/2006, 13h47
  5. [VB.NET/2.0] Comment MAJ ListBox depuis un autre Thread ?
    Par ShaVo dans le forum Windows Forms
    Réponses: 1
    Dernier message: 12/02/2006, 13h48

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