ThreadStateException !!

Résolu
cs_lildan
Messages postés
10
Date d'inscription
lundi 4 avril 2005
Statut
Membre
Dernière intervention
8 décembre 2005
- 14 nov. 2005 à 18:00
crougni77
Messages postés
28
Date d'inscription
dimanche 24 août 2003
Statut
Membre
Dernière intervention
28 septembre 2009
- 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!!

4 réponses

crougni77
Messages postés
28
Date d'inscription
dimanche 24 août 2003
Statut
Membre
Dernière intervention
28 septembre 2009

14 nov. 2005 à 21:12
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
3