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):
Quindi la chiamata al BGW avviene SOLO se TotalCrt contiene almeno 2 elementi.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
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??