Hola Federico:

 

Asumo que la aplicación se trata de Winform.

¿Podrías postear alguna porción de código? 

 

Según el siguiente post ese error ocurre por una llamada a Graphics.GetHdc()
sin su contraparte Graphics .ReleaseHdc().

 

“… GetHdc must match a ReleaseHdc before any other GetHdc.  Recursive means
you have something like GetHdc->GetHdc->ReleaseHdc->ReleaseHdc, instead of
GetHdc->ReleaseHdc->GetHdc->ReleaseHdc.  Another possibility is that there
is a missing call to ReleaseHdc. (i.e. GetHdc->GetHdc->ReleaseHdc)”

 
<http://msmvps.com/blogs/peterritchie/archive/2008/01/28/quot-object-is-curr
ently-in-use-elsewhere-quot-error.aspx>
http://msmvps.com/blogs/peterritchie/archive/2008/01/28/quot-object-is-curre
ntly-in-use-elsewhere-quot-error.aspx 

 

Aquí también desaconsejan el uso de multithread, justamente para evitar ese
problema. 

 

Espero sirva de ayuda.

Gustavo Azcona

 

From: [email protected] [mailto:[email protected]] On Behalf Of Federico
Lazarte
Sent: jueves, 25 de noviembre de 2010 04:55 p.m.
To: [email protected]
Subject: [puntonet] Solucionar Object is currently in use elsewhere.

 

Estimados
Poseo una aplicacion que realiza un trabajo intensivo con imagenes en
distintos componentes. Logre solucionar ampliamente el error Object is
currently in use elsewhere que ocurria seguido, pero, a pesar de todo el
esfuerzo, aleatoreamente continua reproduciendose.
Por eso recurro a ustedes para saber si alguien paso lo mismo y cual seria
la mejor estrategia para prevenir los crossthtread exception.
Desde ya muchas gracias.
Federico

Responder a