OpenNETCF BestPracticeViolationException -> thread.Abort() [Résolu]

el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 14 sept. 2005 à 15:57 - Dernière réponse : el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention
- 15 sept. 2005 à 15:25
Salut,



j'effectue un thread.abort() qui comme prévu me génère une exception de type :

OpenNETCF.BestPracticeViolationException



J'ai donc rajouté un try catch :

try

{

th_lect.Abort();

}

catch (OpenNETCF.BestPracticeViolationException bpve)

{

Console.WriteLine("Thread aborted.");

}



mais après le abort, il ne fais plus rien. Comment faire pour faire un
abort "propre" même si j'ai l'impression que la méthode Abort n'est pas
très conseillée...
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_69chris 318 Messages postés jeudi 30 janvier 2003Date d'inscription 30 décembre 2005 Dernière intervention - 15 sept. 2005 à 08:53
3
Merci
Salut,



Et bien y'a peut être une info ici.

http://www.opennetcf.org/PermaLink.aspx?guid=01116b3d-9770-4f83-9fee-253c0410d7a4


Chris


N'oubliez pas de cloturer votre post.

Merci cs_69chris 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 124 internautes ce mois-ci

Commenter la réponse de cs_69chris
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 15 sept. 2005 à 14:37
0
Merci
Salut,



mais dis donc toi,

t'es pas un peu malade de m'annoncer ça comme ça, sans prévenir, t'as envie que je fasses une attaque ?

Sans déconner ! C'est énorme ce que tu m'as passé comme article, je
sais pas si tu savais exactement l'info que je recherchais ou si c'est
un coup de bol, mais dans l'article, le gars dit que l'auteur de
l'article sur le p/invoke sur la msdn s'est trompé dans une valeur de
configuration du port, valeur dont je me servais, qui fait en fait que
la fonction de lecture bloque tant que rien n'est recu, alors que quand
tu mets 0xFFFFFFFF à la place de 0 recommandé par Microsoft, et bien la
fonction retourne immédiatement 0.



Tu me sauves la vie !



Je cite le passage de l'article :

<hr size="2" width="100%">After setting the port state, the Port class set the timeouts for both
sending and receiving. It is important to note here that the published
documentation on the read timeouts is incorrect. If you look up
ReadIntervalTimeout in help it says "A value of zero indicates that
interval time-outs are not used." After some testing, frustration, and
then a closer look at the newer source for John's article, I came to
the conclusion that this is just not true. Setting ReadIntervalTimeout
to zero blocks infinitely. Instead, setting it to uint.MaxValue
(0xFFFFFFFF) returns immediately.

<hr size="2" width="100%">

Donc voilà, merci vraiment du coup de pouce...



@ bientôt



PS : en fait, tu n'as pas répondu à mon problème sur le thread.abort(),
mais tu résouds le problème qui me forcait à utiliser la fonction
.Abort()

Encore un grand merci.





Yahooo !
Commenter la réponse de el_teedee
cs_69chris 318 Messages postés jeudi 30 janvier 2003Date d'inscription 30 décembre 2005 Dernière intervention - 15 sept. 2005 à 14:52
0
Merci
Méga coup de chance (j'ai quand même fait un survol de l'article pour voir si ça parlais pas d'une recettes de cuisine)!

Tu pourras aussi envoyer un merci à Google.

Super heureux que ça te dépanne.

Chris

N'oubliez pas de cloturer votre post.
Commenter la réponse de cs_69chris
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 15 sept. 2005 à 15:09
0
Merci
Non mais t'imagine même pas le coup de bol mon lapin !



Ca fais des semaines que je postes des demandes un peu partout sur les forums....


Look at this :

http://www.codeppc.com/forum/viewtopic.php?t=8333&highlight= même sujet, pas de réponse

http://www.frbox.net/viewtopic-463430.html pas de réponse

http://www.codeppc.com/forum/viewtopic.php?t=8261&highlight= pas de réponse



Pour finir, c'est un des gros problèmes que j'avais identifié dans la seule source C# que j'ai postée à ce jour

(tit coup de pub)

Donc, vraiment, merci beaucoup :)



PS : curiosité, tu as tapé quoi sur google pour arriver là ? Moi j'ai
fait des dizaines de recherches sur google, mais jamais trouvé de
solution.

PS2 : pareil, tu y crois toi, que quand on tapes
"bestPracticeViolation" sur OpenNETCF, cela ne retourne rien ??? C'est
quand même hallucinant.... Bref...
Commenter la réponse de el_teedee
cs_69chris 318 Messages postés jeudi 30 janvier 2003Date d'inscription 30 décembre 2005 Dernière intervention - 15 sept. 2005 à 15:17
0
Merci
Heu, en fait, je me suis vautré, c'est pas Google, c'est OpenC.....
J'ai fais une recherche sur Thread.Abort. Et voilà. Une seule réponse.



http://www.opennetcf.org/SearchView.aspx?q=thread.abort



Sinon, il est bien ce framework OpenNETCF?

Chris

N'oubliez pas de cloturer votre post.
Commenter la réponse de cs_69chris
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 15 sept. 2005 à 15:25
0
Merci
Bah, j'ai été longtemps récalcitrant à l'utiliser, ché pas, la flemme
peut-être, mais quand j'ai passé le travail que j'avais fait pour appli
windows en appli windows CE (c'est-à-dire, j'ai commencé cette
semaine), et que je me suis rendu compte que System.XML.serialization
ne marchait plus sur PPC, et que d'autre choses sont plus restreintes
genre System.Threading n'a même pas de méthode .Abort() (ironie du
sort, puisque c'est l'objet du topic), et bien j'ai pas hésité vu que
ces librairies sont dispo gratuitement sur OpenNETCF, et c'est tout
facile d'utilisation.

Faut juste ajouter une référence, et un using.



Bref, pourquoi se priver.

En plus, à propos de l'article que tu m'as envoyé voir, j'ai
l'impression que la librairie pour utiliser les ports série est
sacrément bien faite. Je crois OpenNETCF.serial ou IO.serial



Si tu veux en savoir un peu plus sur ce framework, je te conseille codeppc.com, y'a des adèptes (pour reprendre ton [forum.v2.aspx?ID=559951 terme]) d'OpenNETCF qui sauront mieux le défendre que moi.
Commenter la réponse de el_teedee

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.