Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Errore nel thread in vb net 2005
giovedì 12 gennaio 2006 - 17.13
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 12 gen 2006 - 17:13
Ragazzi sto convertendo un programma da vb net 2003 a vbnet2005 solo che in un thread che nel 2003 mi funziona perfettamente, nel 2005 mi genera il seguente messaggio di errore:
Cross-thread operation not valid: Control 'ListView3' accessed from a thread other than the thread it was created on.
Vi posto il mio codice:
dichiaro il thread:
Public avvio As New System.Threading.Thread(AddressOf send_file)
Private Sub send_file()
For idlista = 0 To Me.ListView3.Items.Count - 1
' setto la riga di destinazione della progressbar
Me.ListView3.Items(idlista).Selected = True
ListView_AddProgressBar(Me.ListView3, idlista, 4)
Me.ListView3.SelectedItems(idlista).SubItems(3).Text = "Inserimento metadati in corso..."
ecc...
End sub
l'errore si determina quando il debug passa sul codice: Me.ListView3.Items(idlista).Selected = True
Ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 12 gen 2006 - 17:37
>Cross-thread operation not valid: Control 'ListView3' accessed
>from a thread other than the thread it was created on.
E' evidente non puoi accedere a controlli da un Thread diverso da quello che ha creato i controlli stessi. La tua applicazione non è "Thread Safe". La programmazione multithreaded non è assolutamente banale. Modificando lo stato di una proprietà di un oggetto da più thread si può arrivare in una situazione in cui il controllo è in un stato indefinito, e ricevi l'errore.
Studiati questo paragrafo:
http://msdn2.microsoft.com/en-us/library/ms171728.aspx
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !