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) :
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 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
Mon problème est que le programme me sort une exception "La référence d'objet n'est pas défini etc..."
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
P.S. : J'ai enlevé le code inutile qui fonctionne dans le module.
Merci d'avance...
Partager