20 messaggi dal 21 settembre 2006
Ciao..
Non capisco xkè quando viene invocato Invoke l'applicazione va in errore dicendo che c'è una mancata corrispondeza nel n° dei parametri
Dove sbaglio???
Ho risolto con 2 variabili private ma cio' non mi piace...

Private Delegate Sub AvanzamentoPB(ByVal oArray() As Object)

Private Sub RiallineaDisegno()

Dim oArray() As Object = {True,12}
'Delegate x accedere a tutto cio che è al di fuori del thread separato che
'ho creato x accedere alla ProgressBar
Dim odelPB As New AvanzamentoPB(AddressOf GestionePB)
For i As Int32 = 0 To PnRecords - 1
btnAvvia.Invoke(odelPB)
Next i

End Sub

Private Sub GestionePB(ByVal oArray() As Object)

If oArray(0) = False Then
With tb1
.Value = 0
.Visible = False
End With
Else
With tb1
If Not .Visible Then
.Visible = True
.Minimum = 0
.Maximum = oArray(1)
End If
End With
tb1.Value += 1
End If

End Sub
501 messaggi dal 09 giugno 2006
Contributi
Ciao.
Non ho controllato tutto il codice (c'è qualche errorino ...) comunque il problema è nell'invocare il delegate. Il metodo Invoke prevede il delegate da invocare e i parametri che fungono da argomenti al delegate. Quindi:

btnAvvia.Invoke(odelPB, oArray)


Dovrebbe funzionare.

Ciao.

.:. Marcello Rutter .:.
20 messaggi dal 21 settembre 2006
Grazie x la risposta.
ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.