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
Rejoignez-nous