<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bill2 Software Developer&#039;s Blog &#187; v3.4.3.x</title>
	<atom:link href="http://www.bill2-software.com/blog/category/developpement/v3-4-3-x/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bill2-software.com/blog</link>
	<description>Suivez le développement de Bill2&#039;s Process Manager</description>
	<lastBuildDate>Sun, 31 Jul 2011 18:33:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Le bug du reload et crash de l’appli lors d’un changement de langue (BIS !)</title>
		<link>http://www.bill2-software.com/blog/2010/05/28/le-bug-du-reload-et-crash-de-l%e2%80%99appli-lors-d%e2%80%99un-changement-de-langue-bis/</link>
		<comments>http://www.bill2-software.com/blog/2010/05/28/le-bug-du-reload-et-crash-de-l%e2%80%99appli-lors-d%e2%80%99un-changement-de-langue-bis/#comments</comments>
		<pubDate>Fri, 28 May 2010 17:36:59 +0000</pubDate>
		<dc:creator>Bill2</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[v3.4.3.x]]></category>

		<guid isPermaLink="false">http://www.bill2-software.com/blog/?p=260</guid>
		<description><![CDATA[En juin 2009, je postais un message pour dire que ce bug était éradiqué. Et pourtant &#8230; 
Depuis cette date, j&#8217;ai reçu des rapports de crash similaires pour ce bug, bien que beaucoup moins nombreux. Mais le bug était visiblement toujours là.
Et pire encore, j&#8217;ai eu un contact chez qui le programme crashait à chaque changement de langue, sous [...]]]></description>
			<content:encoded><![CDATA[<p>En juin 2009, je postais un message pour dire que ce bug était éradiqué. Et pourtant &#8230; </p>
<p>Depuis cette date, j&#8217;ai reçu des rapports de crash similaires pour ce bug, bien que beaucoup moins nombreux. Mais le bug était visiblement toujours là.<br />
Et pire encore, j&#8217;ai eu un contact chez qui le programme crashait à chaque changement de langue, sous Windows 7. </p>
<p>J&#8217;ai donc décidé de retourner voir ce qui pouvait poser problème.<br />
Mais ce bug est corriace : il ne se produit pas à chaque fois sous mon XP, et le debugguer de Visual Studio ne se positionne pas sur la ligne qui pose problème, car visiblement, c&#8217;est un plantage plus en interne, directement dans une des DLL  de .Net. </p>
<p>A force de tatonnement, j&#8217;ai fini par mettre en cause différentes choses.<br />
D&#8217;une part, le programme ne plante pas lorsqu&#8217;on le quitte simplement. Il ne plante que lorsqu&#8217;il rencontre la commande Application.Restart()<br />
Donc j&#8217;ai déjà remplacé cette commande par un simple Process.Start(), avec le chemin de process manager en argument.<br />
J&#8217;ai encore eu des crash, mais beaucoup moins nombreux. Et à chaque fois, j&#8217;ai l&#8217;impression que BPM a tenté d&#8217;accéder à un élément qui ne devait plus exister.</p>
<p>D&#8217;autre part, le crash ne se produisant que lorsque la fenêtre d&#8217;option est ouverte, j&#8217;ai donc cherché ce qu&#8217;elle avait de différent par rapport aux autres fenêtres du programme.</p>
<p>La seule chose, c&#8217;est la combobox de sélection de la langue.<br />
Quand la valeur sélectionnée change, BPM exécute un code pour sauvegarder et redémarrer la langue.<br />
Et donc forcément, quand on ferme cette fenêtre, la valeur sélectionnée change, que que la combobox &laquo;&nbsp;se vide&nbsp;&raquo;.<br />
Mais dans le cas d&#8217;un redémarrage de l&#8217;application, il semblerait qu&#8217;il arrivait parfois que la fermeture relance l&#8217;exécution de ce même code, qui plantait, vu que la fenêtre était en cours de fermeture, et que certains éléments n&#8217;étaient déjà plus accessibles. En gros, y&#8217;avait une boucle d&#8217;exécution de code, qui au bout d&#8217;un moment finissait par planter en tentant d&#8217;accéder à des éléments qui n&#8217;étaient plus présents en mémoire.<br />
J&#8217;ai donc retiré à la volée la gestion de l&#8217;évènement &laquo;&nbsp;change&nbsp;&raquo; sur la comboxbox lors du premier passage, avant de demander la fermeture et le restart de l&#8217;application.</p>
<p>Pour le moment, je n&#8217;ai pas réussi à provoquer à nouveau le bug, donc j&#8217;espère l&#8217;avoir enfin éradiqué !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bill2-software.com/blog/2010/05/28/le-bug-du-reload-et-crash-de-l%e2%80%99appli-lors-d%e2%80%99un-changement-de-langue-bis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
