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:
Premendo il pulsante uso la funzione in modo diretto e il parametro Numero1 viene modificato (valore 6).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
In caso di funzione invocata tale valore rimane però quello iniziale (valore 10).
Cosa sbaglio?
Grazie


Rispondi quotando