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 :

Erreur avec la fonction invoke


Sujet :

VB.NET

  1. #1
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut Erreur avec la fonction invoke
    Bonjour

    J'ai crée une class clock affichant une clock digital contenant deux numericupdown
    je veux faire fonctionner la clock via un backgroundworker

    une partie de la class clock

    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
     Public Class ClassDigitalTimer
          Inherits Panel
          Private Numericupsec As New NumericUpDown
          Private NumericUpmin As New NumericUpDown
           Delegate Sub EnableNumericupsec(flag As Boolean)
          Delegate Sub EnableNumericUpmin(flag As Boolean)
          Private Enableupsec As EnableNumericupsec = New EnableNumericupsec(AddressOf Numericupsecenable)
          Private Enableupmin As EnableNumericUpmin = New EnableNumericUpmin(AddressOf Numericupminenable)
           Public Sub startclock()
             Invoke(Enableupsec(False))
            Invoke(Enableupmin(False))
        End Sub
       Private Sub Numericupsecenable(flag As Boolean)
            Numericupsec.Enabled = flag
        End Sub
        Private Sub Numericupminenable(flag As Boolean)
            NumericUpmin.Enabled = flag
        End Sub
    j'ai une erreur à la ligne
    Invoke(Enableupsec(False))
    Invoke(Enableupmin(False))
    expression doesn't produce a value

    Merci

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour
    Sans connaitre le context exact du control,la methode Synchrone Invoke des Controls Winform necessite en plus de l'instance du delegue , de passer ses eventuels parametres dans un array d'object (les parametres pouvant etre nbreux et de differents types)...
    le code approprie qui fonctionne est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Public Sub StartClock()
     
            Me.Invoke(EnablSec, New Object() {False})
            Me.Invoke(EnableMin, New Object() {True})
        End Sub
    bon code...

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    delegate sub est dépassé, c'était la seule méthode sur vs2005 mais ca prend 4 lignes pour rien

    vs 2008 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.invoke(new action(of boolean)(addressof Numericupsecenable),false) ' syntaxe peut etre légèrement erronée
    vs 2012 (ou 2010 je sais plus) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.invoke(sub() Numericupsecenable(false))
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Erreur avec la fonction Make .
    Par seboyoyo dans le forum Linux
    Réponses: 3
    Dernier message: 06/10/2007, 01h31
  2. [Formule]Erreur avec la fonction recherchev
    Par solorac dans le forum Excel
    Réponses: 4
    Dernier message: 19/04/2007, 17h09
  3. [XSLT] erreur avec les fonctions
    Par frouge dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 18/07/2006, 10h15
  4. [Mail] erreur avec utilisation fonction mail
    Par taka10 dans le forum Langage
    Réponses: 7
    Dernier message: 12/07/2006, 16h19
  5. erreur avec la fonction putfile() sur connexion FTP
    Par stefane1981 dans le forum C++
    Réponses: 2
    Dernier message: 23/09/2005, 09h13

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