Salve a tutti!!
Ho questa funzione che viene generata chiamando bgw.runworkerasync()
Quello che non capisco è perchè chiamata una volta la funzione (con recursive true!)appena termina i for annidati, invece di concludere la sub, itera ancora una volta su se stessa, ora ovviamente recursive è false e mi da errore!codice:Public Sub Primaria(ByVal sender As Object, ByVal e As DoWorkEventArgs) Handles bw.DoWork Dim roll As New eseguicallback(AddressOf esegui) If recursive = True Then recursive = False For Each elem As String In folderarray If elem = "EOF" Then Exit For End If For Each elm As String In estarray If elm = "EOF" Then Exit For End If Dim a As String = "*" elm = a & elm.ToLower bw.ReportProgress(0) If bw.CancellationPending Then e.Cancel = True Exit Sub End If Me.BeginInvoke(roll, elem, elm) Next Next Else If bw.CancellationPending Then e.Cancel = True Exit Sub End If Me.BeginInvoke(roll, e.Argument.path, e.Argument.est) 'esegui(e.Argument.path, e.Argument.est) End If End Sub
Perchè chiama se stessa un'altra volta?
é un comportamento anomalo, che tra l'altro viene dall'interno di questa sub, ho controllato in debug e nessuna ulteriore chiamata alla sub ne cambio di valori strani a recursive.
Qualcuno ci capisce qualcosa?![]()

Rispondi quotando