salve a tutti
ho un servizio web che uso per sincronizzare i prodotti di un programma locale, il servizio accetta un dataset come parametro
esso ha anche diverse funzioni, per dire la percentuale di avanzamento e che tabella sta operando
attualmente il codice che mi permette di aggiornare la label di stato è questo:
tutto inserito in un controllo timer settato a due secondi:
il problema è che sebbene l'operazione richieda tempo, mi da solo un aggiornamento di stato, sebbene toericamente ne dovreivedere una decina, il codice secondo voi è esatto?codice:Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Application.DoEvents() LBL_Stato.BeginInvoke(New InvokeDelegate(AddressOf AggiornaStatoDaServizio)) Dim demoThread As Thread = Nothing demoThread = New Thread(New ThreadStart(AddressOf AggiornaStatoDaServizio)) demoThread.Start() End Sub Public Sub AggiornaStatoDaServizio() LBL_Stato.BeginInvoke(New InvokeDelegate(AddressOf invokeMethod)) ProgressBar1.BeginInvoke(New InvokeDelegate(AddressOf invokeMethod)) Me.ProgressBar1.Value = s.GetStatoUpload(FTPguid) End Sub Private Sub invokeMethod() Me.LBL_Stato.Text = My.Resources._FRM_EsportazioneDati.Aggiornamentotabella & ObjExport.NomeTabella & My.Resources._FRM_EsportazioneDati.record & ObjExport.IndexArrivato & My.Resources._FRM_EsportazioneDati.di & ObjExport.NumRecordTabella End Sub
forse perchè non ho molta confidenza con i delegate