begin process at 2010 02 10 11:24:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

ThreadStateException !!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ThreadStateException !!

lundi 14 novembre 2005 à 18:00:27 | ThreadStateException !!

lildan

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!!
lundi 14 novembre 2005 à 18:38:04 | Re : ThreadStateException !!

crougni

Salut lildan,

    c'est avec du .NET 1.1 ou 2.0 ??



lundi 14 novembre 2005 à 20:34:08 | Re : ThreadStateException !!

lildan

C'est du .net 2003 version 7
lundi 14 novembre 2005 à 20:56:00 | Re : ThreadStateException !!

crougni77


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
lundi 14 novembre 2005 à 21:12:56 | Re : ThreadStateException !!

crougni77

Réponse acceptée !
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 discussion est classée dans : fonction, thread, main, threadstateexception, idataobject


Répondre à ce message

Sujets en rapport avec ce message

Comment stopper un thread lorsqu'il est bloqué par une fonction bloquante [ par billou_13 ] En voila une question que je me pose depuis très longtemps !En fait, je lance un serveur TCP/IP qui attend des clients en faisant la fonction Socket.A Appel d'une fonction d'une autre classe [ par nico4nicolas ] Bonjour, Je pensais avoir compris ce qui touchait ce point mais voici que je suis confronte a un nouveau probleme. J'ai une classe non-graphique qui une fonction sleep sans thread??? [ par Handballeur95 ] Bonjour je voulai savoir si il existait une fonction d'attente genre sleep() sans avoir besoin d'utilisé des threadd'avance merci Thread et attente [ par mathmax ] Bonjour,Voilà mon problème. J'ai un thread que je veux mettre en attente d'un événement AutoResetEvent. Pendant cette attente, je voudrais qu'il envoi Thread et fonction asynchrone [ par LordBob ] Bonsoir a tous,voila je me pose une question. En fait je n'arrive pas a comprendre la différence entre un méthode asynchrone et la création d'un threa MultiThread & Fonction bloquante [ par ouaipdu53 ] Bonjour , Dans le cadre de la réalisation d'un logiciel de supervision, je dois crée une application multi-clients. Pour gérer cela, chaque client pos Envoyer des paramètres à un thread [ par billou_13 ] J'aurai voulu savoir s'il y avait moyen d'envoyer un paramètre dans un nouveau thread !Parce que dès que je créé un thread : je pose T = new Thread(</ Rendre la main à l'appelant [ par fregolo52 ] Bonjour,Y a-t-il une méthode simple en C# pour rendre immédiatement la main à la fonction appelante. En réalité je dois détruire l'objet de la fonctio Éviter qu'une thread perde la main [ par narfight ] Bonjour,Je voudrais savoir comment signaler qu'une partie de mon code exécuté dans une thread soit éxécuté en 1 seul fois et donc que le thread ne per Trouver l'id d'un thread [ par DIMUSERS ] Bonjour à tous,J'utilise QueryPerformanceCounter et pour des raisons expliquées là http://msdn2.microsoft.com/en-us/library/ms644904(VS.85).aspx je do


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales