scusate, la mia domanda era riferita all'uso dei thread, stò cercando di capire come funzionano ma in realtà non riesco a farli funzionare.
ad esempio ho un timer che ogni tot secondi avvia una routine che scarica dei dati da sql da un server
Private Sub Tmr_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrRealTime.Tick
Call ScaricaSql()
End Sub
Public Sub ScaricaSql()
Call Scarica_Dati_Sql_RealTime()
If FMdi.Visible = True Then
If FMsf.Visible = True Then call Carica_Dati_Sql_in_Msf()
End If
Call ProgressBar_Socket()
End Sub
ora volevo rendere "autonomo" con un suo thread la routine di esecuzione del timer
Private Sub Tmr_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrRealTime.Tick
Control.CheckForIllegalCrossThreadCalls = False
Dim T As System.Threading.Thread
T = New Threading.Thread(AddressOf ScaricaSql)
T.Start()
End Sub
Public Sub ScaricaSql()
Call Scarica_Dati_Sql_RealTime()
If FMdi.Visible = True Then
If FMsf.Visible = True Then call Carica_Dati_Sql_in_Msf()
End If
Call ProgressBar_Socket()
End Sub
Succede che si crea un suo thread ma sulla routine ScaricaSql alla riga If FMdi.Visible = True Then anche se la form FMdi è visibile non esegue l'istruzione, ovviamente sbaglio io in qualcosa. Gentilmente mi illuminate, grazie
|