Bonjour,
J'ai un petit problème avec le délégué qui refuse d'affecter une valeur à ma variable.
voici le code :
la fonction order3 ne fait que retourner la chaine "Order3" donc aucun intérêt.
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 Module Module1 Public Delegate Function THREADDELG2() As String Dim MonDegX As THREADDELG2 Public SRes As String = Nothing Private Function order3() As String Return "Order3" End Function sub Main() MonDegX = New THREADDELG2(AddressOf order3) Dim iar As IAsyncResult iar = MonDegX.BeginInvoke(Function(iares As IAsyncResult) SRes = MonDegX.EndInvoke(iares), Nothing) While iar.IsCompleted = False End While Console.WriteLine(SRes) End Sub
voila c'est un teste débile mais ça ne marche pas.J'ai toujours ma variable SRes = Nothing.
c'est quoi le problème ?
Mais quand je crée la fonction callback de façon standard , elle marche
Est ce le problème vient de la fonction lambda ?!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Public Sub EndCall(ByVal ia As IAsyncResult) SRes = MonDeg.EndInvoke(ia) Console.WriteLine(SRes) End Sub sub Main() MonDegX = New THREADDELG2(AddressOf order3) Dim iar As IAsyncResult iar = MonDegX.BeginInvoke(AddressOf EndCall, Nothing) End Sub
Merci d'avance
Partager