salve a tutti
ho un thread public ma quando gli faccio un abort e lo vado a riprendere mi da errore su start
mentre se lo dichiaro con dim
non risponde il comando abort da un altro pulsante
cosa posso fare?
salve a tutti
ho un thread public ma quando gli faccio un abort e lo vado a riprendere mi da errore su start
mentre se lo dichiaro con dim
non risponde il comando abort da un altro pulsante
cosa posso fare?
Abort ferma definitivamente l'esecuzione del thread e non hai quindi modo di riprenderla, prova invece a guardare i metodi Interrupt o Sleep; credo siano quelli che ti servano.
HTH
grazie mille, ma ti volevo chiedere più precisamente quello che mi succede, io se faccio completare un thread(caricare un a lista) e poi faccio un clear della lista e voglio ricominciare da capo, mi esce l'errore che il thread è in esecuzione oppure terminato.
non capisco questo errore perchè il thread è terminato e quindi può anche essere ripetuto da capo o da zero.
Penso che non si resetta la memoria e quindi sembra sempre attivo.
i tedeschi abbandonarono perl harbor xche avevano finito le caramelle
Se non sbaglio una volta che il thread è completato non può essere fatto partire nuovamente, quindi credo che ti convenga chiamare il Dispose del thread appena terminato e crearne uno nuovo uguale al precedente
HTH
Ok grazie, solo che ti volevo chiedere una cortesia, visto che non sono tanto pratico ancora, hai da farmi vedere qualche riga di codice per come fare il dispose?
i tedeschi abbandonarono perl harbor xche avevano finito le caramelle
Io ho creato una procedura thread e ovviamente ho fatto in questo modo: Public avvio As New System.Threading.Thread(AddressOf caricalista)
la procedura thread mi funziona perfettamente, il problema sta quando io senza uscire dalla form voglio ricaricare dall'inizio lo stesso thread, a questo punto mi dice che il thread non può essere eseguito perch è già in esecuzione o è terminato.
C'è un modo di risolvere questo problema o resettare la public?
Ciao
i tedeschi abbandonarono perl harbor xche avevano finito le caramelle
Originariamente inviato da Commando
Io ho creato una procedura thread e ovviamente ho fatto in questo modo: Public avvio As New System.Threading.Thread(AddressOf caricalista)
la procedura thread mi funziona perfettamente, il problema sta quando io senza uscire dalla form voglio ricaricare dall'inizio lo stesso thread, a questo punto mi dice che il thread non può essere eseguito perch è già in esecuzione o è terminato.
C'è un modo di risolvere questo problema o resettare la public?
CiaoHTHcodice:'Distruggi l'istanza del thread terminato avvio.Dispose() 'Crei una nuova istanza del thread avvio = New System.Threading.Thread(AddressOf caricalista) 'Fai partire il thread avvio.Start()
Ho fatto come mi hai detto, avvio= New Threading.Thread(AddressOf caracalista)
i comandi Start e Abort funzionano, poi ho creato un pulsante in cui pulisco la lista e faccio avvio.dispose ma mi da il seguente errore: impossibile trovare il membro pubblico "dispose" nel tipo "Thread".
come mai? come posso fare?
Ciao
i tedeschi abbandonarono perl harbor xche avevano finito le caramelle
Errore mio scusa, la classe thread non espone il metodo Dispose, ignora quella riga.
Come hai detto non ho considerato la riga di codice del dispose,ma quando vado di nuovo a afre lo start del thread mi da il seguente errore: eccezione generata dalla destinazione di una chiamata.
aiutami sto in crisi non so cosa fare![]()
i tedeschi abbandonarono perl harbor xche avevano finito le caramelle