<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.ugimobile.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Mirco Vanini</title><link>http://www.ugimobile.org/blogs/mircovanini/default.aspx</link><description>Embedded life tips</description><dc:language>en</dc:language><generator>CommunityServer 2008 (Build: 30417.1769)</generator><item><title>.NET Micro Framework 4.0 Download</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/11/18/net-micro-framework-4-0-download.aspx</link><pubDate>Wed, 18 Nov 2009 08:37:00 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:683</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=683</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/11/18/net-micro-framework-4-0-download.aspx#comments</comments><description>&lt;p&gt;Alcuni giorni f&amp;agrave; &amp;egrave; stata rilasciata la versione 4.0 del .NET Micro Framework. Questa &amp;egrave; la prima release dopo il trasferimento del gruppo sotto la Developer Division. La versione ha un certo numero di nuove funzionalit&amp;agrave;. In questo &lt;a href="http://blogs.msdn.com/netmfteam/archive/2009/11/15/net-micro-framework-version-4-0-ships-open-source-community-development-and-more.aspx#9922983"&gt;link&lt;/a&gt; potete trovare la lista completa.&lt;/p&gt;
&lt;p&gt;Il donload &amp;egrave; diviso in diversi pacchetti, in dettaglio:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=77dbfc46-14a1-4dcf-a809-eda7ccfe376b"&gt;.NET Micro Framework 4.0 SDK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=5bc87a35-747e-42ff-bf2e-8a8c8fefa906"&gt;.NET Micro Framework 4.0 CRYPTO&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=16fa5d31-a583-4c0d-af74-f4d5e235d5bc"&gt;.NET Micro Framework 4.0 Porting Kit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d42cc867-56a8-4daa-93a0-f14219baf282"&gt;.NETMF4 NET ARM&lt;/a&gt;, &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9e608104-6d7d-430a-b1d4-c992030dd0c4"&gt;.NETMF4 NET THUMB2&lt;/a&gt;, &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=4aab7dbf-1840-4fa9-b7d3-889fcd94aabd"&gt;.NETMF4 NET THUMB&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Penso che sia la risposta pi&amp;ugrave; &amp;ldquo;concreta&amp;rdquo; a chi dava il progetto Micro FW sul viale del tramonto.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=683" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/.Net+Micro+FW/default.aspx">.Net Micro FW</category></item><item><title>Microsoft Silverlight for Windows Embedded</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/09/25/microsoft-silverlight-for-windows-embedded.aspx</link><pubDate>Fri, 25 Sep 2009 09:49:00 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:672</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=672</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/09/25/microsoft-silverlight-for-windows-embedded.aspx#comments</comments><description>&lt;p&gt;Con il rilascio di &lt;a href="http://www.microsoft.com/windowsembedded/en-us/news/pressreleases/cer3_release.mspx"&gt;Windows CE SR3&lt;/a&gt; una delle features pi&amp;ugrave; interessanti &amp;egrave; la disponibilit&amp;agrave; di &lt;a href="http://www.microsoft.com/windowsembedded/en-us/products/windowsce/silverlightforwe.mspx"&gt;Silverlight for Windows Embedded&lt;/a&gt;. Attenzione &amp;egrave; un UI framework che si basa su API Win32/nativo e non&amp;nbsp;su codice gestito.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=672" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/WindowsCE/default.aspx">WindowsCE</category></item><item><title>.NET Micro Framework 4.0 Goes to Beta.</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/09/09/net-micro-framework-4-0-goes-to-beta.aspx</link><pubDate>Wed, 09 Sep 2009 12:31:51 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:670</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=670</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/09/09/net-micro-framework-4-0-goes-to-beta.aspx#comments</comments><description>&lt;p&gt;.NET Micro Framework V4.0 è entrato in beta pubblica! Complimenti al lavoro eseguito dal team visto la riduzione dei mezzi a loro disposizione. Per una lista completa delle features introdotte in questa beta si consiglia di visione il seguente link: &lt;a href="http://blogs.msdn.com/netmfteam/archive/2009/09/04/net-micro-framework-4-0-goes-to-beta.aspx"&gt;.NET Micro Framework : .NET Micro Framework 4.0 Goes to Beta!!!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=670" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/.Net+Micro+FW/default.aspx">.Net Micro FW</category></item><item><title>.NET Micro Framework v4.0 coming soon!</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/09/03/net-micro-framework-v4-0-coming-soon.aspx</link><pubDate>Thu, 03 Sep 2009 15:01:41 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:669</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=669</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/09/03/net-micro-framework-v4-0-coming-soon.aspx#comments</comments><description>&lt;p&gt;Microsoft ha annunciato la disponibilità al pubblico della versione beta del .Net Micro FW 4.0 nei prossimi giorni. Verrà pubblicata su &lt;a href="http://connect.microsoft.com/netmf"&gt;Microsoft Connect&lt;/a&gt; appena disponibile.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=669" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/.Net+Micro+FW/default.aspx">.Net Micro FW</category></item><item><title>WiFi 802.11 Wireless for .NET Micro FW</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/09/01/wifi-802-11-wireless-for-net-micro-fw.aspx</link><pubDate>Tue, 01 Sep 2009 07:44:00 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:668</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=668</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/09/01/wifi-802-11-wireless-for-net-micro-fw.aspx#comments</comments><description>&lt;p&gt;GHI ha annunciato il primo modulo hardware &lt;a href="http://www.ghielectronics.com/product/127"&gt;“Micro Famework WiFi Expansion”&lt;/a&gt; che rende disponibile una connessione WiFi su .Net Micro FW 3.0. Il nuovo modulo supporta WEP, WPA, WPA2 attraverso la cifratura hw AES e RSA. il modulo è disponibile per i seguenti prodotti di GHI: ChipworkX ed Embedded Master&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=668" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/.Net+Micro+FW/default.aspx">.Net Micro FW</category><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/HW/default.aspx">HW</category></item><item><title>“Expert .NET Micro Framework” – Second edition</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/08/31/expert-net-micro-framework-second-edition.aspx</link><pubDate>Mon, 31 Aug 2009 10:33:52 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:667</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=667</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/08/31/expert-net-micro-framework-second-edition.aspx#comments</comments><description>&lt;p&gt;E’ disponibile la seconda edizione del libro “Expert .NET Micro Framework” di Jens Kühner. (&lt;a href="http://www.apress.com/book/view/1430223871"&gt;Apress&lt;/a&gt; – &lt;a href="http://www.amazon.com/Expert-NET-Micro-Framework-Second/dp/1430223871/ref=sr_1_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1250107252&amp;amp;sr=8-3"&gt;Amazon&lt;/a&gt;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=667" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/book/default.aspx">book</category><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/.Net+Micro+FW/default.aspx">.Net Micro FW</category></item><item><title>GHI: ChipworkX - .NET MF 4.0 Beta</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/08/31/ghi-chipworkx-net-mf-4-0-beta.aspx</link><pubDate>Mon, 31 Aug 2009 10:30:15 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:666</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=666</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/08/31/ghi-chipworkx-net-mf-4-0-beta.aspx#comments</comments><description>&lt;p&gt;GHI ha annunciato la disponibilità di una nuova scheda per sviluppo con .NET MF, in questo &lt;a href="http://www.ghielectronics.com/product/125"&gt;link&lt;/a&gt; potete trovare le specifiche di tale scheda.&lt;/p&gt;  &lt;p&gt;In questo &lt;a href="http://www.youtube.com/watch?v=X8TkdnYjBEE"&gt;link&lt;/a&gt; potete trovare un video che descrive il porting del codice di GHI sulla versione beta del .NET MF 4.0&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=666" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/Sviluppo/default.aspx">Sviluppo</category><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/.Net+Micro+FW/default.aspx">.Net Micro FW</category></item><item><title>Prossimi meeting XeDotNet</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/08/31/prossimi-meeting-xedotnet.aspx</link><pubDate>Mon, 31 Aug 2009 10:06:41 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:665</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=665</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/08/31/prossimi-meeting-xedotnet.aspx#comments</comments><description>&lt;p&gt;Di seguito riporto i meeting per il prossimo semestre di &lt;a href="http://www.xedotnet.org/"&gt;XeDotNet&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;&lt;strong&gt;&lt;em&gt;PATTERN TRACK&lt;/em&gt;&lt;/strong&gt; - 25 Settembre 2009&lt;/div&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;div align="left"&gt;Model-View-ViewModel Applied: real world WPF application &lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Model-View-ViewModel e la UI Composition: WPF Power&lt;/div&gt;     &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;&lt;em&gt;&lt;strong&gt;TFS TRACK &lt;/strong&gt;&lt;/em&gt;-&lt;em&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/em&gt;16 Ottobre 2009&lt;/div&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;div align="left"&gt;Team Foundation Server Database Edition&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Scrum for Team System, non solo teoria&lt;/div&gt;     &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;&lt;em&gt;&lt;strong&gt;WEB TRACK&lt;/strong&gt;&lt;/em&gt; - 6 Novembre 2009&lt;/div&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;div align="left"&gt;Windows Communication Foundation: normalizzare e controllare i servizi WCF &lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Silverlight do it better: Silverlight, Ria Services e le LOB Applications &lt;/div&gt;     &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;&lt;em&gt;&lt;strong&gt;DATA TRACK&lt;/strong&gt;&lt;/em&gt; - 11 Dicembre 2009&lt;/div&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;div align="left"&gt;Entity Framework 4.0: Promessa mantenuta?&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Dynamic Data 4.0&lt;/div&gt;     &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;&lt;a href="http://www.xedotnet.org/nextmeetings.aspx"&gt;Registrazioni e informazioni&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=665" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/Events/default.aspx">Events</category><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/XE.NET/default.aspx">XE.NET</category></item><item><title>.NET MF moves to Developer Division</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/05/08/net-mf-moves-to-developer-division.aspx</link><pubDate>Fri, 08 May 2009 07:28:19 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:649</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=649</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/05/08/net-mf-moves-to-developer-division.aspx#comments</comments><description>&lt;p&gt;Dopo aver letto alcuni articoli che paventavano la dismissione del .NET MF o quanto meno il suo disinpegno su questo fronte (&lt;a href="http://blogs.zdnet.com/microsoft/?p=2701"&gt;Microsoft to turn .Net Micro Framework code, support over to the community&lt;/a&gt;) è uscita la risposta sul blog del team di .NET MF (&lt;a href="http://blogs.msdn.com/netmfteam/archive/2009/05/07/net-mf-moves-to-developer-division.aspx"&gt;.NET MF moves to Developer Division&lt;/a&gt;&amp;#160; - &lt;a href="http://blogs.msdn.com/netmfteam/archive/2009/05/07/net-micro-framework-evolution.aspx"&gt;.NET Micro Framework evolution&lt;/a&gt;). Vale la pena dargli una letta per chiarirsi le idee :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=649" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/.Net+Micro+FW/default.aspx">.Net Micro FW</category></item><item><title>Virtual Meeting: .NET Micro Framework – Materiale</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/05/07/virtual-meeting-net-micro-framework-materiale.aspx</link><pubDate>Thu, 07 May 2009 07:32:00 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:648</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=648</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/05/07/virtual-meeting-net-micro-framework-materiale.aspx#comments</comments><description>&lt;p&gt;Volevo ringraziare tutti i partecipanti che hanno seguito il virtual meeting. Un ringraziamento speciale va ad &lt;a href="http://www.xedotnet.org/"&gt;XeDotNet&lt;/a&gt;, &lt;a href="http://blog.boschin.it"&gt;Andrea Boschin&lt;/a&gt; e &lt;a href="http://blog.dottor.net/"&gt;Andrea Dottor&lt;/a&gt; per l&amp;rsquo;opportunit&amp;agrave; e per il supporto che mi hanno dato per la realizzazione dell&amp;rsquo;evento. &lt;/p&gt;
&lt;p&gt;Di seguito riporto i links del materiale (slide, demo,&amp;nbsp;replay evento, ecc.) dell&amp;rsquo;evento: &lt;/p&gt;
&lt;p&gt;&lt;a href="http://cid-afd1bdc9b805cf1c.skydrive.live.com/self.aspx/BlogFiles/XeDotNet%7C_MF%7C_04%7C_05%7C_2009/Slides.zip"&gt;Slide&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://cid-afd1bdc9b805cf1c.skydrive.live.com/self.aspx/BlogFiles/XeDotNet%7C_MF%7C_04%7C_05%7C_2009/Demos.zip"&gt;Demo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cid-afd1bdc9b805cf1c.skydrive.live.com/self.aspx/BlogFiles/XeDotNet%7C_MF%7C_04%7C_05%7C_2009/AdvanceEmulator.txt"&gt;AdvanceEmulator&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.xedotnet.org/webcasts/microfw/ReplayMeeting.htm" class="null"&gt;Replay&amp;nbsp;Evento&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=648" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/.Net+Micro+FW/default.aspx">.Net Micro FW</category><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/Events/default.aspx">Events</category><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/XE.NET/default.aspx">XE.NET</category></item><item><title>Virtual Meeting: .NET Micro Framework – Cambio data</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/04/27/virtual-meeting-net-micro-framework-cambio-data.aspx</link><pubDate>Mon, 27 Apr 2009 09:06:12 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:647</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=647</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/04/27/virtual-meeting-net-micro-framework-cambio-data.aspx#comments</comments><description>&lt;p&gt;A causa di problemi organizzativi siamo costretti a spostare di alcuni giorni l&amp;#39;evento&lt;/p&gt;  &lt;p&gt;La nuova data sarà: &lt;u&gt;Lunedì 04/05/2009 alle 21:30&lt;/u&gt; (stessa ora)&lt;/p&gt;  &lt;p&gt;Scusandoci per l&amp;#39;inconveniente vi invitiamo a cancellare la vostra iscrizione sulla pagina dell&amp;#39;evento &lt;/p&gt;  &lt;p&gt;qualora non siate più in grado di partecipare nella nuova data.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.xedotnet.org/meet/microfw.aspx"&gt;&lt;b&gt;04 Maggio 2009 - Ore 21:30&lt;/b&gt; - Virtual Meeting: .NET Micro Framework&lt;/a&gt;     &lt;br /&gt;Speaker: &lt;a href="http://www.ugimobile.org/blogs/mircovanini/"&gt;Mirco Vanini&lt;/a&gt;     &lt;br /&gt;Luogo: Live Meeting Online&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=647" width="1" height="1"&gt;</description></item><item><title>Virtual Meeting: .NET Micro Framework</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/04/16/virtual-meeting-net-micro-framework.aspx</link><pubDate>Thu, 16 Apr 2009 20:45:54 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:646</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=646</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/04/16/virtual-meeting-net-micro-framework.aspx#comments</comments><description>&lt;p&gt;Quasi ci siamo! Sto finendo di preparare il materiale per la prima sessione virtuale che terrò con Xe.Net che avrà come argomento “.NET Micro Framework”. Personalmente credo molto in questo nuovo modo di approcciare la programmazione sui microcontrollori. Di certo non è la panacea che risolve tutti i problemi ma sicuramente apre scenari difficilmente pensabili sino a qualche tempo fà. Comunque chi fosse interessato sono aperte le iscrizioni, queste sono le coordinate:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.xedotnet.org/meet/microfw.aspx"&gt;&lt;b&gt;30 Aprile 2009 - Ore 21:30&lt;/b&gt; - Virtual Meeting: .NET Micro Framework&lt;/a&gt;     &lt;br /&gt;Speaker: &lt;a href="http://www.ugimobile.org/blogs/mircovanini/"&gt;Mirco Vanini&lt;/a&gt;     &lt;br /&gt;Luogo: Live Meeting Online&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=646" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/.Net+Micro+FW/default.aspx">.Net Micro FW</category><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/Events/default.aspx">Events</category><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/XE.NET/default.aspx">XE.NET</category></item><item><title>GDI – Leak – WinCE – C#</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/03/04/gdi-leak-wince-c.aspx</link><pubDate>Wed, 04 Mar 2009 17:08:00 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:643</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=643</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/03/04/gdi-leak-wince-c.aspx#comments</comments><description>&lt;p&gt;Suona strano avere dei memory leak in codice gestito ma sono molto pi&amp;ugrave; frequenti di quello che si possa pensare. Alcune settimane f&amp;agrave; ho tenuto una sessione di code review presso un mio cliente e ho speso alcuni giorni a sistemare diversi memory leak su una programma scritto in C# per Windows CE.&lt;/p&gt;
&lt;p&gt;Quello che bisogna tenere a mente che tutti gli oggetti GDI (Bitmap, Font, Brush, Pen, ecc.) di C# in realt&amp;agrave; sono dei wrapper sopra oggetti Win32. Tali oggetti sono referenziati tramite Handle e &lt;span style="text-decoration:underline;"&gt;devono essere rilasciati.&lt;/span&gt; Il GC non lo f&amp;agrave; per voi in modo automatico perch&amp;egrave; semplicemente non li pu&amp;ograve; gestire. Sopratutto nelle applicazioni mobile, in cui le risorse sono limitate, bisogna porre particolare attenzione a questo.&lt;/p&gt;
&lt;p&gt;Durante la sessione di debug ho utilizzato questo tool (&lt;a href="http://www.nirsoft.net/utils/gdi_handles.html"&gt;GDIView&lt;/a&gt;) che mi ha aiutato a verificare quali handle non venivano rilasciati. &lt;/p&gt;
&lt;p&gt;Alcuni consigli pratici:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Richiamare sempre il Dispose di tutti gli oggetti grafici utilizzati, meglio ancora usare sempre la keword &amp;ldquo;using&amp;rdquo; per richiamare sempre in modo implicito il Dispose, esempio: &lt;/li&gt;
&lt;/ul&gt;
&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;background-color:#f4f4f4;"&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; SolidBrush fillBrush = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; SolidBrush(Color.White);&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; graphImage.FillRectangle(fillBrush, 0, 0, UI_CLIENT_WIDTH, UI_HEIGHT);&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; fillBrush.Dispose();&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#008000;"&gt;// or&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt;(SolidBrush fillBrush = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; SolidBrush(Color.White))&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt; {&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;     graphImage.FillRectangle(fillBrush, 0, 0, UI_CLIENT_WIDTH, UI_HEIGHT);&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt; }&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;  &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quando si riassegna una Bitmap assicurarsi che l&amp;rsquo;oggetto precedente sia deallocato, esempio: &lt;/li&gt;
&lt;/ul&gt;
&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;background-color:#f4f4f4;"&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#008000;"&gt;// wrong&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; picCapture.Image = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Bitmap(32, 32);&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; &lt;span style="color:#008000;"&gt;// good&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt;(picCapture.Image != &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;     picCapture.Image.Dispose();&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt; picCapture.Image = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Bitmap(32, 32);&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quando si utilizza una Image contenuta in una ImageList &amp;egrave; bene ricordare quanto esposto su MSDN: &amp;ldquo;&lt;span style="text-decoration:underline;"&gt;The returned bitmap is a copy of the original image and should be disposed of using the Image.Dispose method.&lt;/span&gt;&amp;rdquo;. In altre parole tutte le get da una ImageList clonano una nuova immagine che deve essere rilasciata tramite un Dispose! &lt;/li&gt;
&lt;li&gt;Quando si utilizzano direttamente le funzioni native Win32 porre attenzione se queste ritornano una nuova istanza di una risorsa in memoria. Leggere attentamente la loro documentazione! &lt;/li&gt;
&lt;li&gt;Ogni volta che si alloca memoria tramite funzioni native Win32 &amp;egrave; &lt;span style="text-decoration:underline;"&gt;vostra responsabilit&amp;agrave; deallocarla.&lt;/span&gt; &lt;/li&gt;
&lt;li&gt;Quando si crea un nuovo oggetto non gestito, salvare il riferimento (handle) in una variabile non accessibile dall&amp;rsquo;esterno. Se per qualsiasi motivo il riferimento viene sovrascritto non sar&amp;agrave; pi&amp;ugrave; possibile deallocare correttamente la risorsa non gestita. &lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=643" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/Sviluppo/default.aspx">Sviluppo</category><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/Tips/default.aspx">Tips</category></item><item><title>System Meter Chart – .Net Micro Framework</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2009/01/03/system-meter-chart-net-micro-framework.aspx</link><pubDate>Sat, 03 Jan 2009 17:06:00 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:628</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=628</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2009/01/03/system-meter-chart-net-micro-framework.aspx#comments</comments><description>&lt;p&gt;Finalmente in questi giorni di &amp;ldquo;festa&amp;rdquo; sono riuscito a trovare qualche ora di calma da famiglia, figli, clienti, rogne, ecc. per effettuare il porting del controllo &lt;a href="http://www.ugimobile.org/blogs/mircovanini/archive/2008/11/07/system-meter-chart-pda.aspx"&gt;System Meter Chart&lt;/a&gt; da .NET Compact Framework (CF) a .NET Micro Framework (MF). Questa &amp;egrave; stata una buona occasione per &amp;ldquo;toccare con mano&amp;rdquo; le diversit&amp;agrave; tra i due ambienti per quello che riguarda la progettazione di user control. Il .NET MF supporta una versione ridotta (molto) di WPF e la gestione / progettazione dei controlli ovviamente &amp;egrave; diversa tra i due ambienti. Nel caso specifico (.NET MF) ho implementato un Control (UIElement) che si espone come oggetto WPF.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://5ataga.bay.livefilestore.com/y1prGyAmHd_BXBXlIAHRPj2VMqFKqXh2scMFl4RlcAV1htDguV-mg0GgDlwR-l1BTUskq3UY3-ptjZ5d8qzU38hrQ/class.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Nelle applicazioni MF con presentation esistono due thread, il primo creato del programma per la gestione degli I/O, periferiche, ecc. mentre il secondo &amp;egrave; creato ed utilizzato internamente dal CLR per le varie operazioni di UI (ridisegno degli elementi di UI come i controlli, le finestre, ecc.). Questo secondo thread &amp;egrave; chiamato anche Dispatcher e il suo scopo &amp;egrave; quello di accedere in modo &amp;ldquo;sicuro&amp;rdquo; ai vari elementi della UI. Per maggiori informazioni vi consiglio di leggere &lt;a href="http://blogs.msdn.com/netmfteam/archive/2008/03/04/using-the-dispatcher.aspx"&gt;&amp;#39;Using the Dispatcher&amp;rsquo;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;esempio di utilizzo del controllo usa un timer per l&amp;rsquo;assegnazione di valori random da 0 a 100. Essendo il timer asincrono rispetto all&amp;rsquo;interfaccia utente, per le operazioni di invalidate interne del controllo, &amp;egrave; necessario chiamare BeginInvoke&amp;nbsp; per far si che il controllo grafico sia acceduto dal thread principale. La scelta di BeginInvoke &amp;egrave; preferibile rispetto a Invoke cos&amp;igrave; da poter liberare il thread del timer al pi&amp;ugrave; presto senza attendere il termine dell&amp;rsquo;esecuzione del gestore dell&amp;rsquo;evento. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;esempio utilizza i 5 tasti presenti nell&amp;rsquo;emulatore del .NET MF, in dettaglio:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tasto Up abilita la visualizzazione in &amp;ldquo;Stick Mode&amp;rdquo; &lt;/li&gt;
&lt;li&gt;Tasto Down abilita la visualizzazione in &amp;ldquo;Line Mode&amp;rdquo; &lt;/li&gt;
&lt;li&gt;Tasto Left abilita la visualizzazione in &amp;ldquo;NoGrid&amp;rdquo; &lt;/li&gt;
&lt;li&gt;Tasto Right abilita la visualizzazione in &amp;ldquo;Grid&amp;rdquo; &lt;/li&gt;
&lt;li&gt;Tasto Select abilita / disablita la visualizzazione del Gradient &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Di seguito riporto alcune immagini delle modalit&amp;agrave; supportate dal controllo&lt;/p&gt;
&lt;p&gt;&lt;img width="336" src="http://5ataga.bay.livefilestore.com/y1pvEsgywgD3TTzctK8U7XpV39Zy5xr2NN4NkVELp4fVmjidWAZxGev6PzqVdPz0xSTzxZKYnB2sDQ/view1.png" height="270" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://5ataga.bay.livefilestore.com/y1pZIYVUt7dEb-qNUS-7qv94xIg5apvsOkPXLmybvngOtZmT7_xbmEwEv5HjP84JElzP16KnKOwEC0/view2.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://5ataga.bay.livefilestore.com/y1p0GPymen4XEQExoNW4pUsPT7pfo7tpuVnbjTUbwbVK6_2NTexTvdkL0DtdIDMisnVbTfdJkhGo-Q/view3.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://5ataga.bay.livefilestore.com/y1p0kDGj9QZKP6IU-xb4ZEB8w6A6IyisW5-x_HuPGXbRLxfrYaKZzj7fMobAnwmWZ0BiudqkdVSe8E/view4.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Non nego che sono sempre pi&amp;ugrave; entusiasta del MF, penso solo a quanto codice avrei dovuto scrivere per realizzare lo stesso controllo su un&amp;rsquo;altra tipo di scheda non MF magari con un compilatore C++ proprietario. Seconda osservazione, la portabilit&amp;agrave; del codice da una piattaforma MF all&amp;rsquo;altra, infatti nell&amp;rsquo;esempio non ho utilizzato nulla di proprietario della mia scheda &lt;a href="http://www.ghielectronics.com/details.php?id=107&amp;amp;sid=114"&gt;GHI&lt;/a&gt; ma solo chimate &amp;ldquo;standard&amp;rdquo; del MF 3.0. Come ultimo punto vorrei rimarcare l&amp;rsquo;integrazione del MF con Visual Studio,&amp;nbsp; si riesce a sviluppare ed eseguire il debugging dell&amp;rsquo;applicazione sia con l&amp;rsquo;emulatore che direttamente sulla scheda collegata via USB. Questo permette l&amp;rsquo;analisi sotto debugger di scenari che difficilmente sarebbero ripetibili tramite un emulatore e con una serie di comodit&amp;agrave; come solo i progammatori di Visual Studio sono abituati.&amp;nbsp; Ovviamente le schede che supportano MF non sono schede su cui la battaglia si gioca sui centesimi ma quello che da a disposizione MF ripaga anche il relativo costo. &lt;/p&gt;
&lt;p&gt;In questo &lt;a href="http://cid-afd1bdc9b805cf1c.skydrive.live.com/self.aspx/BlogFiles/SystemMeterChartMF/SystemMeterChartMF.zip"&gt;link&lt;/a&gt; potete scaricare lo zip dei sorgenti del programma di esempio.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=628" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/Sviluppo/default.aspx">Sviluppo</category><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/.Net+Micro+FW/default.aspx">.Net Micro FW</category></item><item><title>Community Meeting - .NET Compact Framework - Slide e Demo</title><link>http://www.ugimobile.org/blogs/mircovanini/archive/2008/12/12/community-meeting-net-compact-framework-slide-e-demo.aspx</link><pubDate>Fri, 12 Dec 2008 10:00:34 GMT</pubDate><guid isPermaLink="false">7ba5e74b-89cd-403d-ac3d-7d0ac75b99a4:624</guid><dc:creator>Mirco Vanini</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.ugimobile.org/blogs/mircovanini/rsscomments.aspx?PostID=624</wfw:commentRss><comments>http://www.ugimobile.org/blogs/mircovanini/archive/2008/12/12/community-meeting-net-compact-framework-slide-e-demo.aspx#comments</comments><description>&lt;p&gt;Anche se in ritardo ho messo in linea il materiale del community meeting del 04.12.2008. Qui potete scaricare sia le &lt;a href="http://cid-afd1bdc9b805cf1c.skydrive.live.com/self.aspx/BlogFiles/XeDotNet%7C_CF%7C_04%7C_12%7C_2008/Compact%20Framework.zip"&gt;slide&lt;/a&gt; che le &lt;a href="http://cid-afd1bdc9b805cf1c.skydrive.live.com/self.aspx/BlogFiles/XeDotNet%7C_CF%7C_04%7C_12%7C_2008/Demo.zip"&gt;demo&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.ugimobile.org/aggbug.aspx?PostID=624" width="1" height="1"&gt;</description><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/Events/default.aspx">Events</category><category domain="http://www.ugimobile.org/blogs/mircovanini/archive/tags/XE.NET/default.aspx">XE.NET</category></item></channel></rss>