Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
29/03/10 9:18
nala84
Ciao a tutti!!

Facendo l'accesso ad una textBox da un Thread mi genera la seguente eccezione:
Operazione cross-thread non valida: è stato eseguito l'accesso al controllo 'Text1' da un thread diverso da quello da cui è stata eseguita la creazione.

Cercando in rete ho visto che quando ci troviamo in una situazione dove è necessario modificare un controllo creato su un Thread diverso rispetto a quello da cui tentiamo la modifica, dobbiamo appoggiarci ai Delegati, tale Delegato ci permette di poter eseguire una Sub o una Function (richiamata tramite AddressOf) direttamente da un Thread voluto, attraverso l'utilizzo del metodo Invoke (dell'oggetto che si trova nel Thread sul quale vogliamo eseguire il codice).

Però non riesco a capire come dovrei comportarmi nel mio caso... Il mio problema è che dovrei concatenare + stringhe utilizzando il contenuto della textbox, cioè:
Text1.Text = "[Ricezione dati]" & dati & vbLf & vbLf & Text1.Text
Text2.Text = Text2.Text & dati

Dove: dati è di tipo String

Come posso fare??
illuminatemi... :_doubt:
aaa
29/03/10 13:04
Thejuster
Non puoi gestire oggetti su altri Thread Paralleli,

Ma puoi recuperare informazioni da variabili che vengono posizione nello stack di memoria e non nell'heap.

quindi al thread che sfrutta l'oggetto textbox, il contenuto lo memorizzi in una variabile
e dopo la recuperi dal thread principale.

mire.forumfree.it/ - Mire Engine
C# UI Designer
29/03/10 13:47
nala84
aaa