ThreadStateException !! [Résolu]

cs_lildan 10 Messages postés lundi 4 avril 2005Date d'inscription 8 décembre 2005 Dernière intervention - 14 nov. 2005 à 18:00 - Dernière réponse : crougni77 28 Messages postés dimanche 24 août 2003Date d'inscription 28 septembre 2009 Dernière intervention
- 14 nov. 2005 à 21:12
Bonjour tout le monde. Je ne sais pas pourquoi mais lorsque j'instancie un IDataObject :
IDataObject iData = Clipboard.GetDataObject();

Je recois cette erreur: «Le thread actuel doit être en mode STA (Single Thread Apartment) avant que des appels OLE puissent être effectués. Assurez-vous que votre fonction Main est marquée STAThreadAttribute.»

Pourtant, dans ma fonction Main, j'ai bel et bien mis
[System::STAThreadAttribute]

Comme il me dise de faire! Aidez-moi svp!!
Afficher la suite 

4 réponses

Répondre au sujet
crougni77 28 Messages postés dimanche 24 août 2003Date d'inscription 28 septembre 2009 Dernière intervention - 14 nov. 2005 à 21:12
+3
Utile
Re...



sinon y a ceci qui te permet de tester si ton thread est MTA ou STA...



if(Thread.CurrentThread.ApartmentState==System.Threading.ApartmentState.MTA)

{

// IDataObject iData Clipboard.GetDataObject(); > sa va crouter

// donc tu peux lancer un nouveau Thread, qui exécutera ta méthode

// contenant

//
IDataObject iData = Clipboard.GetDataObject();

Thread monThr=new Thread(new ThreadStart(MaSuperFonction));

monThr.Start();

monThr.Join();


}

else

{

// IDataObject iData Clipboard.GetDataObject(); > sa devrait rouler....

}




CrougniMan
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de crougni77
crougni 18 Messages postés mardi 20 septembre 2005Date d'inscription 3 mars 2009 Dernière intervention - 14 nov. 2005 à 18:38
0
Utile
Salut lildan,



c'est avec du .NET 1.1 ou 2.0 ??
Commenter la réponse de crougni
cs_lildan 10 Messages postés lundi 4 avril 2005Date d'inscription 8 décembre 2005 Dernière intervention - 14 nov. 2005 à 20:34
0
Utile
C'est du .net 2003 version 7
Commenter la réponse de cs_lildan
crougni77 28 Messages postés dimanche 24 août 2003Date d'inscription 28 septembre 2009 Dernière intervention - 14 nov. 2005 à 20:56
0
Utile
Salut lildan,



bon ba alors, j'ai fait des tests et sous SharpDevelop, si tu as bien

[STAThread] juste avant ta méthode main sa roule bien.

Ton code est-il lancé d'un autre thread ou méthode d'une autre form ?



sinon passe un extrait de code pour voir...



A+


CrougniMan
Commenter la réponse de crougni77

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.