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: ObjectDisposeException
martedì 18 novembre 2008 - 08.11
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
From15
Profilo
| Newbie
11
messaggi | Data Invio:
mar 18 nov 2008 - 08:11
Salve a tutti, ho un programma che tramite 4 bottoni avvia 4 thread separati dove ognugno ha uno sleep differente dal milli secondo al secondo. Ogni thread hai compito di aggiornare una label precisa nella form.
In pratica ogni funzione associata ad ogni singolo thread non fa altro che chiamare, tramite un'invoke, una funzione Thread-safe che modifica la label.
Ora mi capita che quando chiudo il programma, Close() della form, mi viene generato un'errore sull'invoke di uno dei thread avviato, dicendo "Impossibile accedere ad un'oggetto eliminato" e l'oggetto e la mia form.
Ora vi chiedo, ma ponendo i thread in background non vengono abortiti prima che la form venga distrutta? Mi sembra di capire che i thread principale uccide la form, poi i thread e successivamente se stesso...
Come risolvo il problema?
Grazie in anticipo.
Buona gironata.
Alex1972
Profilo
| Newbie
14
messaggi | Data Invio:
mar 18 nov 2008 - 10:25
Avevo il tuo stesso problema e lo risolto stoppando tutti i timer durante il closing...
For Each timer As IComponent In Me.components.Components
If TypeOf timer Is Timer Then
CType(timer, Timer).Enabled = False
End If
Next
A presto
Alex
From15
Profilo
| Newbie
11
messaggi | Data Invio:
mar 18 nov 2008 - 12:07
Ho capito il tuo metodo , ma non riesco a capire dove lo lanci !! Lo fai eseguire prima della chiamata del Close() ?
Poi sinceramente mi piacerebbe capire dove sbaglio, prima di trovare una soluzione.
Grazie ancora!
Alex1972
Profilo
| Newbie
14
messaggi | Data Invio:
mar 18 nov 2008 - 12:58
Giustissimo il capire perchè...ma non ti saprei aiutare
Lo lancio durante la chiusura
Private Sub Home_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
End Sub
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 !