Ciao
E' la prima volta che utilizzo questo tipo di funzione e ho delle difficoltà con il passaggio di parametri.
Nello specifico se la funzione eseguita viene invocata soltanto il risultato della stessa viene portato al di fuori ma non i parametri passati.
Faccio un esempio:
codice:
Private Delegate Function Somma_Delegate(ByRef Num1 As Integer, ByRef Num2 As Integer) As Integer
Private Function Somma(ByRef Num1 As Integer, ByRef Num2 As Integer) As Integer
If Me.InvokeRequired Then
Return Me.Invoke(New Somma_Delegate(AddressOf Somma), New Object() {Num1, Num2})
End If
Somma = (Num1 + Num2)
Num1 = 6
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Risultato As Integer
Dim Numero1 As Integer
Dim Numero2 As Integer
Numero1 = 10
Numero2 = 20
Risultato = Somma(Numero1, Numero2)
MsgBox(CStr(Numero1))
End Sub
Premendo il pulsante uso la funzione in modo diretto e il parametro Numero1 viene modificato (valore 6).
In caso di funzione invocata tale valore rimane però quello iniziale (valore 10).
Cosa sbaglio? 
Grazie