Je reçois cette erreur .. J'utilise une boucle pour parcourir un tas d'images à tracer .. J'utilise également multithreading ..InvalidOperationException: les objets sont actuellement utilisés ailleurs!
Qu'est-ce qui pourrait causer ce problème et comment pourrait-il être évité?
J'utilise WinForms
Informations complémentaires:
il me dit si j'utiliser des graphiques après la méthode GetHDv, appelez la méthode ReleaseHDC ..
Qu'est-ce que cela signifie?
section du code:
Un fil créé comme ceci:
Avant que je l'ai fait: BackgroundWorker1.RunWorkerAsync(); Maintenant, je teste
avec ceci:
BackgroundWorker retour = new BackgroundWorker(); back.runworkerAsync();
est-ce la racine de l'exception?
En général, les objets d'interface utilisateur ne peuvent pas être utilisés autrement que sur le thread qui les a créés. C'est peut-être le problème, mais c'est difficile à dire sans voir de code. Un programme court mais complet démontrant le problème serait vraiment utile. –
pourriez-vous poster une trace de pile? (votre exception devrait en contenir un) mais si vous demandez une supposition: vous utilisez une ressource non-threadsafe dans plus d'un thread en même temps ... solution possible: supprimez la situation d'accès simultané – DarkSquirrel42
hmmm. J'utilise un backgroundworker que j'ai ajouté à la winform .. à part ça, je n'ai pas un autre thread que j'ai ajouté à la winform –