probleme avec le Delegate
Bonjour,
J'ai un petit problème avec le délégué qui refuse d'affecter une valeur à ma variable.
voici le code :
Code:
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 |
la fonction order3 ne fait que retourner la chaine "Order3" donc aucun intérêt.
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
Code:
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 |
Est ce le problème vient de la fonction lambda ?!!
Merci d'avance