L' ***UNICA*** chiamata che faccio all' unico un BackGroundWorker del programma è questa:
codice:
If TotalCrt.Count = 2 Then BW_Elabora.RunWorkerAsync()
il codice del BGW (TotalCrt è una List(Of Integer):
codice:
Private Sub BW_Elabora_DoWork(sender.... eccetera eccetera)
Dim Crt1 As String = TotalCrt(0).ToString(CultureInfo.InvariantCulture)
Dim Crt2 As String = TotalCrt(1).ToString(CultureInfo.InvariantCulture)
eccetera eccetera
Quindi la chiamata al BGW avviene SOLO se TotalCrt contiene almeno 2 elementi.
Tuttavia, sebbene molto raramente, ottengo in errore di "Indice oltre i limiti della matrice". SE vado a controllare... TotalCrt è nullo (TotalCrtCount = 0).
Nel milionesimo di secondo che occorre al BGW per partire, nessun codice azzera la List, per cui non mi rimane che pensare che "parta" per altri motivi anche quando la List e nulla.
Ma allora cosa può far partire un BGW se non la chiamata diretta??