OpenNETCF BestPracticeViolationException -> thread.Abort()

Résolu
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 14 sept. 2005 à 15:57
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 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...

6 réponses

cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
15 sept. 2005 à 08:53
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.
3
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
15 sept. 2005 à 14:37
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 !
0
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
15 sept. 2005 à 14:52
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.
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
15 sept. 2005 à 15:09
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
15 sept. 2005 à 15:17
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.
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
15 sept. 2005 à 15:25
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.
0
Rejoignez-nous