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 :

BackgroundWorker et les structures ?!


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 19
    Par défaut BackgroundWorker et les structures ?!
    Bonjour,
    Voilà, je m'arrache les cheveaux avec les background worker !, pour faire simple : j'ai une application vb.net avec 2 boutons (btn_test1, btn_test2), un BackgroundWorker (bg_worker) et une strucutre (mystruct), je vous invite dans un premier temps a regarder le code rapidement :
    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
     
    #Dans un module
     
        Public Structure My_Struct
            Public id, sql, txt_progress As String
            Public btn_to_active, result As Object
        End Structure
     
    #fin du module
     
    #Dans mon Winform
     
     Private Sub btn_test1_Click(...)..
       dim my_stc As New My_Struct
     
       btn_test2.enabled = false
       With my_stc
       .id = "toto"
       .sql = "Select ... FROM ..."
       .txt_progress= "do progress"
       .btn_to_active = btn_test2
       End With
       bg_worker.RunWorkerAsync(my_stc)
     
    End Sub
     
     Private Sub btn_test2_Click(...)..
       dim my_stc As New My_Struct
     
       btn_test4.enabled = false
       With my_stc
       .id = "titi" 'RMARQUER LE CHANGEMENT DE ID
       .sql = "Select ... FROM ..."
       .txt_progress= "do progress"
       .btn_to_active = btn_test1 ''changement
       End With
       bg_worker.RunWorkerAsync(my_stc)
    End Sub
     
     
        Private Sub bg_worker_DoWork(...) Handles bg_worker.DoWork
            Dim worker As BackgroundWorker = CType(sender, BackgroundWorker)
            Select Case e.Argument.id
                Case "toto"
                    e.Result = do_traitement_toto(e.Argument, worker) ' return un type My_Struct
                Case "titi"
                    e.Result = do_traitement_toto(e.Argument, worker) ' return unb type  My_Struct
            End Select
        End Sub
     
         Private Sub bg_worker_RunWorkerCompleted(...) Handles bg_worker.RunWorkerCompleted
            Select Case e.Result.id
                Case "toto"
                 messagebox.show("toto")
                 e.Result.btn_to_active.enabled = true
                Case "titi" 
                 messagebox.show("titi")
                 e.Result.btn_to_active.enabled = true
             End Select
        End Sub
    Quand je clique sur le boutton "btn_test1", tout marche nickel et j'ai le message box avec "toto" par contre quand je clique sur bouton "btn_test2" j'ai ce message d'erreur "Une exception a été levée par la cible d'un appel." avec {"Variable objet ou variable d'un bloc With non définie."}

    Est ce que quelqu'un à une idée de ce qui pose problème ??

    Merci de votre aide

  2. #2
    Membre éprouvé
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 77
    Par défaut
    salut,

    ce ne serait pas ça qui pose problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    btn_test4.enabled = false
    peut être qu'avec btn_test1 ça marcherait ?

Discussions similaires

  1. Les structures et vous
    Par lanonyme dans le forum C++
    Réponses: 14
    Dernier message: 18/05/2006, 11h17
  2. [POO] Les structures de données comme en C++...
    Par FrankOVD dans le forum Langage
    Réponses: 3
    Dernier message: 27/04/2006, 19h44
  3. Aide sur les structure
    Par Yoshio dans le forum C
    Réponses: 7
    Dernier message: 18/02/2006, 12h56
  4. Question sur les statics et les structures
    Par Steph12 dans le forum C
    Réponses: 3
    Dernier message: 24/03/2005, 13h20
  5. Coherence dans les structures arborescentes...
    Par Alec6 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/09/2004, 12h04

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