46 messaggi dal 08 giugno 2007
Salve a tutti,
sto provando ad utilizzare il threading nella mia applicazione.
Vi spiego brevemente la situazione:
lancio n processi che aprono e chiudono un prompt dei comandi facendo delle operazioni: alla fine di ogni operazione parte quella nuova.
Io ora vorrei farle correre in modo parallelo, così ho pensato ad utilizzare il thread...
Mi son creato una classe, dove passo dei parametri al costruttore, in modo tale da avere nel threadstart un metodo senza nessun parametro e fin qui tutto bene.

Dim ts As New ThreadStart(AddressOf lProc.Lancia_Processo)
Dim Mythread As New Thread(ts)
Mythread.Start()


il codice lo metto dentro un ciclo for, in modo da avere n processi in base ad una listview di elementi caricati.
Però appena vado a lanciarlo, esce il seguente errore: Cross-Thread operation not valid: Control "frmMessages" accessed from a thread other than the thread it was created on.

Ora l'oggetto in questione(frmMessages) è una form dove mi stampo i log delle operazioni.
Secondo voi cosa può essere?

Grazie

Marco
2.190 messaggi dal 04 marzo 2004
Contributi | Blog

Alessio Leoncini (WinRTItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer
46 messaggi dal 08 giugno 2007
grazie Alessio,
cerco di capirci qualcosa ;)
perche la form gira su un altro Thread, e come spiega l'errore non puoi accedervi, la cosa migliore e non modificare l'ui in un altro thread ma avere una callback che viene invocato per impostarla

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.