djedjeska
Messages postés90Date d'inscriptionmercredi 21 novembre 2007StatutMembreDernière intervention25 mai 2013
-
28 sept. 2011 à 22:22
djedjeska
Messages postés90Date d'inscriptionmercredi 21 novembre 2007StatutMembreDernière intervention25 mai 2013
-
30 sept. 2011 à 13:48
Bonsoir
J'ai ajouté un backgroundworker dans mon programme de manière à effectuer une tâche en arrière plan (comme son nom l'indique).
Cependant, j'ai besoin de copier une image et la coller dans un richtextbox (ce que j'arrive aisément à faire dans une procédure normale), mais j'ai l'impression que le backgroundworker n'accepte pas l'usage du presse-papier...
J'essaye d'accéder au presse-papier de dette façon :
Apparemment, on ne peut pas toucher au clipboard dans un thread créé grâce au BackGroundWorker. Il faut créer un Thread "normal" de manière à gérer le SetApartmentState() avant de lancer le thread...
Le meilleur moyen pour que je me mette vraiment à apprendre les threads... (J'avoue que le BackGroundWorker simplifiait beaucoup la tâche)
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209 28 sept. 2011 à 23:36
Bonjour,
si, comme je le pense (je ne connais pas VB.Net) ton backgroundworker est dans un "thread" séparé, tu risques fort de tomber dans un cas exposé ICI PAR MSDN à la rubrique Exceptions, non ?
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
djedjeska
Messages postés90Date d'inscriptionmercredi 21 novembre 2007StatutMembreDernière intervention25 mai 2013 29 sept. 2011 à 12:08
ucfoutu : je me suis demandé oui si c'était pas la deuxième erreur citée par msdn, mais après de nombreuses recherches, ça ne n'a mené à rien... Je ne comprends pas ce qu'ils veulent qu'ils veulent dire par "Add the STAThreadAttribute to your application's Main method."
NHenry je comprends à peu près ce qu'ils disent, mais je ne vois pas le rapport entre un objet d'un autre thread, et le ClipBoard...
D'ailleurs, j'arrive à accéder aux objets du Form contenant le BackGroundWorker sans problème...
Je ne suis pas encore bien calé niveau Threads...
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209 29 sept. 2011 à 15:18
Ah bon ?
On n'aurait pas cru !
C'est pourtant ce qu'en disait MSDN
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
djedjeska
Messages postés90Date d'inscriptionmercredi 21 novembre 2007StatutMembreDernière intervention25 mai 2013 30 sept. 2011 à 13:48
Oui, mais c'est pas très très clair pour quelqu'un qui débute au niveau des threads...
J'ai réglé le problème du presse-papier en créant un thread "manuellement", mais maintenant il me pose des problèmes d'accès aux fichiers...
C'est pas facile (comme le dit MSDN) ne créer un thread sans erreurs