drcmomo
Messages postés182Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention25 décembre 2009
-
23 août 2007 à 15:13
litlefranjo
Messages postés1Date d'inscriptionjeudi 17 août 2006StatutMembreDernière intervention28 octobre 2009
-
28 oct. 2009 à 08:03
Bonjourt tout le monde !!
voila je sais que vous allez me dire de regarder ici :http://www.csharpfr.com/tutoriaux/CSHARP-OPERATIONS-CROSS-THREADS-UTILISATION-DELEGATIONS-SYNCHRONES-ASYNCHRONES_174.aspx Mais je je l'ai fais des centaines de fois
Je travail sur un lecteur code-barre , ma fonction datareveid cree son propre thread, je fais une petite application en dehors de mon projet (regardez ci-dessous)
Quand je click sur le bouton 1 qui est le thread pricipal pas probléme , mais quand je click sur les autre sça beug il doit me manque un petit truc que j'ai du mal a trouver.
Pas pitié pour un nul en C# AIDEZ MOI PLEASE PLEASE
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 23 août 2007 à 19:21
Salut,
Si tu avais vraiment lu le tutorial 100 fois, et si tu prenais le temps de lire l'erreur pourtant très explicite, tu verrais que tu ne peux pas changer le texte de ta TextBox dans la méthode Method_Sync, puisque celle ci a été crée par un autre Thread !
drcmomo
Messages postés182Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention25 décembre 2009 23 août 2007 à 16:05
l'erreur est la suite:
Opération inter-threads non valide : le contrôle 'textBox1' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créé.
cs_sephiro
Messages postés101Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention18 février 2008 23 août 2007 à 16:26
Bonjour drcmomo
Un thread autre que le principale ne peux pas accéder aux controles, sauf queqlues modifications de base, tu dois donner l'instance du thread principale au thread secondaire, puis tu appelles une fonction de ton thread principale par un Invoke, cette fonction pourra accéder à ton textbox.
J'avais trouvé un exemple sur ce site je le recherche et je l'ajoute à mon prochain post
Sephiro
Vous n’avez pas trouvé la réponse que vous recherchez ?
litlefranjo
Messages postés1Date d'inscriptionjeudi 17 août 2006StatutMembreDernière intervention28 octobre 2009 28 oct. 2009 à 08:03
believe and trust, En fait, pour une question de sécurité et de cohérence, visual studio n'autorise pas la modification d'un contrôle par un thread autre que celui qui la créé? imagine un instant que pendant qu'un thread change la police d'un label en la mettant à 12 et qu'un autre en fait de même au même moment en la mettant à 9, on peut vite forcer le controle dans un état incohérent. le même problème peut survenir dans bien des cas.
toute fois, vb ne ns laisse pas sur notre fin
tu peu demander à vb d'autoriser celà en définissant la propriété checkforillegalcrosscontrolprocess à false pour le contrôle qui doit faire l'objet d'une modification par ton (ou tes...) thread(s)