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 Presentation Foundation Discussion :

WPF et Delegate


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Par défaut WPF et Delegate
    Bonjour,

    Je suis sur un projet pour mon entreprise qui utilise le WPF et des tâches trèèèèèès longues... j'aurai besoin d'un éclaircissement sur l'utilisation des delegates avec WPF.

    J'ai une seule fenêtre (appelée MainWindow) et un module (donc un fichier) séparé contenant des fonctions. Comment accéder aux contrôles de la fenêtre par un delégué depuis le module ?

    Le code de ma fenètre (j'appelle SaisieSerie par un bouton) :

    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
    Sub SaisieSairie()
            Label1.Content = "Rentrez le numéro de série du produit"
            Dim pattern As String = "^\d{6}\-\d{1,5}\-\d{4}$"
     
            If Regex.IsMatch(TextBox1.Text, pattern) Then
                numeroSerie = TextBox1.Text
                Enable()
                press = 0
                ChoixInterface()
                System.Threading.ThreadPool.QueueUserWorkItem(New System.Threading.WaitCallback(AddressOf InitSecondPart))
            Else
                MessageBox.Show("Numéro de série incorrect", "Erreur")
     
            End If
        End Sub
    et voici le code de mon module :

    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
     
        Delegate Sub dEcrireCA(ByVal VCA As Double, ByVal TCA As Double)
     
        Dim Wnd As MainWindow
     
        Sub EcrireCA(ByVal VCA As Double, ByVal TCA As Double)
     
            Wnd = Application.Current.MainWindow
            Wnd.TBVCA.Text = VCA.ToString
            Wnd.TBTCA.Text = TCA.ToString
        End Sub
     
        'Test du courant d'appel de la platine
        Sub TestCourantAppel()
     
            Dim d As New dEcrireCA(AddressOf EcrireCA)
     
            [...]
     
            'Attente mesure renvoyée par l'oscillo
            Measurement_CA(TCAP, VCAP)
     
            Wnd.Dispatcher.BeginInvoke(d, VCAP, TCAP)
            [...]
        End Sub
    Mon problème est que le programme me sort une exception "La référence d'objet n'est pas défini etc..."

    P.S. : J'ai enlevé le code inutile qui fonctionne dans le module.

    Merci d'avance...

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Le problème n'a rien à voir avec les delegates, c'est juste que Wnd n'est pas initialisé et vaut donc Nothing...

    Dans le constructeur de la fenêtre, il faudrait faire Wnd = Me

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Par défaut
    En effet, ca fonctionne bien... ce que je peux être nouille des fois, c'était si évident

    Merci bien

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

Discussions similaires

  1. Comment utiliser delegate en WPF
    Par ziedbhz dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 24/04/2010, 11h49
  2. [C# 2.0][Form]Comment utiliser les Delegates & Threading
    Par Tips dans le forum Windows Forms
    Réponses: 8
    Dernier message: 08/01/2006, 15h22
  3. Réponses: 6
    Dernier message: 02/12/2005, 13h28
  4. [C#]Thread, event/delegate et Form
    Par doccpu dans le forum Windows Forms
    Réponses: 28
    Dernier message: 01/08/2005, 19h35
  5. Delegation mis en application
    Par s3r3nity dans le forum C++
    Réponses: 19
    Dernier message: 16/05/2005, 02h07

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