Creato da Arudy il 15/09/2006
Note, appunti, di tutto un pò riguardo alla mia esperienza di programmatore

Tag

 

Archivio messaggi

 
 << Agosto 2024 >> 
 
LuMaMeGiVeSaDo
 
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
 
 

Cerca in questo Blog

  Trova
 

FACEBOOK

 
 

Area personale

 
 
RSS (Really simple syndication) Feed Atom
 

 

« Percorso del file eseguibileString Encryption »

Modificare lo stato di un controllo da un operazione asincrona

Post n°9 pubblicato il 26 Settembre 2006 da Arudy
 

Quante volte vi è capitato di avere la necessità di aggiornare un controllo che si trova su una form istanziata in un thread principale, da un altro thread che sta seguendo un operazione asincrona? Ecco come evitare errori di cross thread e non duplicare il codice se si effettua la chiamata dal thread principale:



private delegate void InvokeMiaFunzione();
private InvokeMiaFunzione mInvokeMiaFunzione;


private void MiaFunzione()
{
   if (this.InvokeRequired)
   {
      this.Invoke(mInvokeMiaFunzione);
   }
   else
   {
      // Qui si può modificare lo stato del controllo della form senza incorrere in nessun problema
   }
}


private void CostruttoreDellaClasse()
{
   mInvokeMiaFunzione= new InvokeMiaFunzione (MiaFunzione);
}


private void ProcessoAsincrono()
{
   MiaFunzione();
}


private void ProcessoSincrono()
{
   MiaFunzione();
}

 
Condividi e segnala Condividi e segnala - permalink - Segnala abuso
 
 
Commenta il Post:
* Tuo nome
Utente Libero? Effettua il Login
* Tua e-mail
La tua mail non verrà pubblicata
Tuo sito
Es. http://www.tuosito.it
 
* Testo
 
Sono consentiti i tag html: <a href="">, <b>, <i>, <p>, <br>
Il testo del messaggio non può superare i 30000 caratteri.
Ricorda che puoi inviare i commenti ai messaggi anche via SMS.
Invia al numero 3202023203 scrivendo prima del messaggio:
#numero_messaggio#nome_moblog

*campo obbligatorio

Copia qui:
 
 

© Italiaonline S.p.A. 2024Direzione e coordinamento di Libero Acquisition S.á r.l.P. IVA 03970540963