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 :

Utilisation evenement vbnet


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 104
    Par défaut Utilisation evenement vbnet
    Bonjour,

    J'utilise un scanner qui emet un event lors d'un scan de data .
    J'ai une fonction qui est à l'ecoute de cette événement, et si cette événement ce produit, execute une form.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private sub INIT()
    addhandler scandone, addressof afficherForm
    end sub
     
    Private sub scan ()
    raiseEvent ScanDone
    end sub
     
    Private sub AfficherForm() 
    Dim myform as new form
    myform.showdialog
    end sub
    Le probléme est que je ne peux plus utiliser le scanner lorsque l'evenement est executer.
    Il lance ma nouvelle form, mais tjrs dans le même thread que le scan.

    Comment faire pour contourner ce probléme (hormis utiliser un timer qui executerais ma form une fois l'event déclancher...)

    Merci

  2. #2
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Pas de réponses = pas d'idées (en plus le "???" a été modéré)

    Au passage quel est le problème de mettre un timer, vu que tu exclus cette solution ?

    Sinon ton problème vient peut-être du fait que tu déclares ta nouvelle form dans la class de ton scan. En gros je pense que cela déclare ta form comme contenue dans la la form du scan.

    Essaye déjà un simple

    et crée la dans ta class "principale", ou si tu la crée dans ta class scan, déclares là comme appartenant à ta form principale.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 104
    Par défaut
    Voici un tout simple exemple :
    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
     
     
    Public Class Form1
     
        Private Delegate Sub work()
        Private mydelegate As work
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            AddHandler BackgroundWorker1.DoWork, AddressOf StartWorking
            AddHandler BackgroundWorker1.RunWorkerCompleted, AddressOf EndWorking
            BackgroundWorker1.RunWorkerAsync()
            mydelegate = New work(AddressOf ToBeinvokeD)
        End Sub
     
        Public Sub StartWorking()
            Dim i As Integer = 0
            Invoke(mydelegate)
            While i < 1000
                'Mes calculs
            End While
        End Sub
     
        Public Sub EndWorking()
            MessageBox.Show("Fin de mon thread")
        End Sub
     
        Public Sub ToBeinvokeD()
            MessageBox.Show("Invoked")
        End Sub
    End Class
    J'aimerais que lorsque mon thread arrive sur Invoke(mydelegate), il m'affiche "INVOKED".
    Il le fait bien, mais le thread est toujours bloqué alors que je voudrais que mon thread continue son travail...et que ca ne soit pas le thread qui affiche le message INVOKED mais ma form principal...(d'ou l'utilisation de invoke)

    Cette facon de proceded devrait fonctionner non ?

Discussions similaires

  1. utilisation evenement onchange
    Par phico04 dans le forum Langage
    Réponses: 9
    Dernier message: 23/03/2013, 11h07
  2. [AC-2000] Utilisation Evenement clic sur ListView
    Par petitbison dans le forum IHM
    Réponses: 10
    Dernier message: 03/08/2009, 19h54
  3. Utiliser Evenement KeyDown avec un controle ActiveX
    Par parp1 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 31/05/2007, 14h24
  4. [VB.Net] l'utilisation des Evenements sur Objet
    Par vijeo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 06/03/2006, 12h44
  5. Réponses: 11
    Dernier message: 15/02/2006, 14h45

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