Ciao, per caricare dei file su ftp e non freezzare il mio form durante l'operazione ho utilizzato i thread.
ho inserito l'oggetto backgroundworker nel mio form e nell'evento BackgroundWorker1_DoWork faccio il caricamento, ho ricevuto questo errore:
Operazione cross-thread non valida: è stato eseguito l'accesso al controllo 'statoConn' da un thread diverso da quello da cui è stata eseguita la creazione
statoConn e' una label dove visualizzo le operazioni che sto facendo (copia file aaaa.pdf in corso) ho letto l'msdn ed ho inserito questa riga
codice:
Control.CheckForIllegalCrossThreadCalls = False
ora funziona, inoltre ho nel mio form un textbox (testoLog) che mi serve per vedere tutte le operazioni di copia fatte, che scrivo in un file log e visualizzo in questo textbox con questo codice messo in un modulo:
codice:
Public Sub LeggiLog(ByVal percorsoFile As String)
'restituisce il contenuto di un file di testo e lo mette nella textbox testolog
Dim riga As String = ""
Dim tr As TextReader = File.OpenText(percorsoFile)
'LeggiLog = tr.ReadToEnd
FtpUP.testoLog.Text = tr.ReadToEnd
tr.Close()
FtpUP.testoLog.SelectionStart = FtpUP.testoLog.TextLength
FtpUP.testoLog.ScrollToCaret()
End Sub
Richiamo la sub dopo ogni operazione di copia ftp, ma il problema e che non si aggiorna testoLog, si riempie con l'esito di tutte le copie solo alla fine quando sono uscito dal ciclo di copia file.
Mi sapete come posso fare ad ovviare a questo? grazie