|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 263
|
[C#] Cross threading
Salve a tutti,
ho un'applicazione TCP Client/Server dove ho una classe Server che esegue un thread per accettare le connessioni dal client. Quando questo accade, un'altro thread viene eseguito per gestire la comunicazione con il client. Ora, quando il client invia un messaggio, il secondo thread esegue un evento che viene catturato dalla classe Server, la quale genera un nuovo evento che viene catturato dalla mia Form, che prova ad inserire una riga nella mia treeview. A questo punto il programma genera un'eccezzione perchè stò tentando di inserire il nodo nella treeview sul thread sbagliato. Cosa sbaglio? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2007
Città: Milano
Messaggi: 413
|
Prova in queso modo:
Codice:
void EventoCatturatoDallaForm(object sender, TipoEventArgs e)
{
if (!InvokeRequired)
{
//Operazioni per aggiornre la treeview
}
else
{
Invoke(new TipoDelegato(EventoCatturatoDallaForm), new object[] { source,e });
}
}
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 263
|
Grazie CwNd, funziona che è una meraviglia!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:15.



















