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
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:Control.CheckForIllegalCrossThreadCalls = False
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.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
Mi sapete come posso fare ad ovviare a questo? grazie

Rispondi quotando