﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>GeoFrameworks Issue Tracking System</title><link>http://www.geoframeworks.com/IssueTrackingRssFeed.aspx</link><description>A real-time update of software issues and feature requests for all GeoFrameworks products.</description><copyright>Copyright (C) 2003-2010  GeoFrameworks, LLC. All rights reserved.</copyright><ttl>5</ttl><item><title>Issue #321 (Assigned, Research in progress): Trial error on using SatelliteViewer and SatelliteSignalBar</title><description>&lt;b&gt;Monday, July 06, 2009 at 1:55:49 AM by Jan van Veen&lt;/b&gt;&lt;p&gt;Hello,&lt;br /&gt;&lt;br /&gt;We've licensed the Control Toolbox components.&lt;br /&gt;We're using the SatelliteViewer and SatelliteSignalBar.&lt;br /&gt;But when we try to open the form, which contains these controls, a trial exception (on the GeoFrameworks.GPS assembly) is raised.&lt;br /&gt;In our Program.cs (Main routine) we've added our license key.&lt;br /&gt;&lt;br /&gt;Is this a known issue?&lt;br /&gt;Or can't we use these controls with our license?&lt;br /&gt;&lt;br /&gt;If you need further information, I'm willing to send this.&lt;br /&gt;&lt;br /&gt;Thank you in advance,&lt;br /&gt;&lt;br /&gt;Jan van Veen&lt;br /&gt;VekraSOFT&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 14, 2009 at 6:00:02 AM by Jan van Veen&lt;/b&gt;&lt;p&gt;Hello,&lt;br /&gt;&lt;br /&gt;We're one week later, and still no response.&lt;br /&gt;Can you please respond to my problem?&lt;br /&gt;&lt;br /&gt;Thanks.&lt;br /&gt;&lt;br /&gt;Jan van Veen&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 14, 2009 at 12:27:13 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Jan, my apologies for the delay in responding to this issue.&amp;nbsp;&amp;nbsp;We had to fire the person in charge of support while we were out of town who, alas, also apparently took a vacation.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I'll be happy to refund you for the User Controls took box since this was a clear slip-up on our part.&lt;br /&gt;&lt;br /&gt;Can you send me a portion of the exception you're getting?&amp;nbsp;&amp;nbsp;I want to make sure that you're using the latest version of the libraries and that you're referencing the correct .NET platform.&lt;br /&gt;&lt;br /&gt;I'll be available on MSN Messenger as well.&amp;nbsp;&amp;nbsp;If you're on, this will help us get a solution more quickly.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, July 16, 2009 at 5:54:45 AM by Jan van Veen&lt;/b&gt;&lt;p&gt;Dear Jon,&lt;br /&gt;&lt;br /&gt;Thanks for the refund.&lt;br /&gt;&lt;br /&gt;I added you to MSN messenger, but didn't see you online recently.&lt;br /&gt;&lt;br /&gt;Here are the source files of my form, where the problem is located.&lt;br /&gt;We're using VS2008 on Microsoft .NET CF 3.5.&lt;br /&gt;&lt;br /&gt;[editied, public system]&lt;br /&gt;&lt;br /&gt;Thanks in advance,&lt;br /&gt;&lt;br /&gt;Jan van Veen&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, July 17, 2009 at 6:16:44 AM by Jan van Veen&lt;/b&gt;&lt;p&gt;Dear Jon,&lt;br /&gt;&lt;br /&gt;I received the Refund notification.&lt;br /&gt;Did you also managed to download my source files?&lt;br /&gt;&lt;br /&gt;Thanks in advance,&lt;br /&gt;&lt;br /&gt;Jan van Veen&lt;br /&gt;VekraSOFT&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 21, 2009 at 9:42:10 AM by Jon Person&lt;/b&gt;&lt;p&gt;Jan, can you please email them to me?&amp;nbsp;&amp;nbsp;I edited the link out of your message since this is a public system.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 14, 2009 at 5:08:26 AM by Jan van Veen&lt;/b&gt;&lt;p&gt;Dear Jon,&lt;br /&gt;&lt;br /&gt;I sent you the files before my holiday (3 weeks ago) and didn't receive a reaction.&lt;br /&gt;Did you receive my e-mail correct?&lt;br /&gt;&lt;br /&gt;Thanks for your response,&lt;br /&gt;&lt;br /&gt;Kind regards,&lt;br /&gt;&lt;br /&gt;Jan van Veen&lt;br /&gt;VekraSOFT&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, August 24, 2009 at 1:34:09 AM by Jan van Veen&lt;/b&gt;&lt;p&gt;Again, another week has passed without a sign of life...&lt;br /&gt;Can anyone please respond to my issue?!&lt;br /&gt;&lt;br /&gt;Thanks.&lt;br /&gt;&lt;br /&gt;Jan van Veen&lt;br /&gt;VekraSOFT&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue321.aspx</link><pubDate>Mon, 24 Aug 2009 01:34:09 GMT</pubDate></item><item><title>Issue #334 (Fixed (Queued for release)): Roll Back GPS.NET 3.0 Controls to 2.0</title><description>&lt;b&gt;Tuesday, July 21, 2009 at 11:06:40 AM by Jon Person&lt;/b&gt;&lt;p&gt;The general consensus of the beta is that the 3.0 user controls are not as good as they were in 2.0.&amp;nbsp;&amp;nbsp;Unless somebody objects here, I will proceed with rolling all of the controls back to how they looked and behaved in version 2.0, then reengineer the Radar control.&lt;br /&gt;&lt;br /&gt;Anyone object to this?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, July 26, 2009 at 2:18:05 PM by Jon Person&lt;/b&gt;&lt;p&gt;3.0 controls have now been rolled back to 2.0.&amp;nbsp;&amp;nbsp; I wish this would have happened during the beta period, but this timing could not have been avoided.&lt;br /&gt;&lt;br /&gt;Optimizations were put in place to improve the performance of these controls as well.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue334.aspx</link><pubDate>Sun, 26 Jul 2009 14:18:05 GMT</pubDate></item><item><title>Issue #339 (Released): GeoFramework 2.0.0 Source Code Now Available on CodePlex!</title><description>&lt;b&gt;Sunday, July 26, 2009 at 11:58:06 AM by Jon Person&lt;/b&gt;&lt;p&gt;I'm very pleased to announce that the complete C# source code for the GeoFramework library is now available on CodePlex!&amp;nbsp;&amp;nbsp;(This is the source code for GeoFramework.dll.)&amp;nbsp;&amp;nbsp;This library has been stable and unchanged for some time, and I feel that the objects presented in this library are low-level enough to be open-source while not undercutting ourselves.&lt;br /&gt;&lt;br /&gt;Due to licensing, existing users of GPS.NET and GIS.NET will still need to use the assemblies we publish.&amp;nbsp;&amp;nbsp;Yet, this open source project will give developers the opportunity to extend the framework and revise it as they see fit.&lt;br /&gt;&lt;br /&gt;You can find the project online here: http://geoframework.codeplex.com&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue339.aspx</link><pubDate>Sun, 26 Jul 2009 11:58:06 GMT</pubDate></item><item><title>Issue #12 (Postponed for Later): Cannot find GPS device for HTC Kaiser, HTC Polaris, HTC Touch Cruise, HTC TyTN II, AT&amp;T Tilt, AT&amp;T 8925, and anything else with the word "QualComm" in it.</title><description>&lt;b&gt;Tuesday, May 06, 2008 at 2:40:06 AM by Jon Person&lt;/b&gt;&lt;p&gt;Reports have arrived regarding mobile devices manufactured by High Tech Computing (HTC), namely the HTC Kaiser, TyTN II, AT&amp;amp;T Tilt, and AT&amp;amp;T 8925.&amp;nbsp;&amp;nbsp;This device uses a proprietary GPS Intermediate Driver (GPSID) which GPS.NET has problems with.&amp;nbsp;&amp;nbsp;Specifically, the GPSID is supposed to allow users to configure any shared port name (e.g. the &amp;quot;Program Port&amp;quot;), as well as any hardware port.&amp;nbsp;&amp;nbsp;Strangely, however, attempts to set the hardware port on these devices always fails.&amp;nbsp;&amp;nbsp;The port always returns to &amp;quot;(None)&amp;quot; no matter what we try and set it to.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, May 06, 2008 at 2:42:50 AM by Jon Person&lt;/b&gt;&lt;p&gt;I now have an AT&amp;amp;T Tilt device in-house.&amp;nbsp;&amp;nbsp;After a couple of hours, I'm able to get NMEA data from the device, but I'm seeing a number of issues.&amp;nbsp;&amp;nbsp;First, to connect to this device, a manual connection to COM4: at 4800 baud is required.&amp;nbsp;&amp;nbsp; I was able to get GPS data by creating an NmeaStream using a SerialStream on COM4: at 4800 baud:&lt;br /&gt;&lt;br /&gt;NmeaStream test = new NmeaStream(new SerialStream(CommunicationPort.Com4, BaudRate.Baud4800));&lt;br /&gt;&lt;br /&gt;... next, however, is the actual NMEA data.&amp;nbsp;&amp;nbsp;Several NmeaSentenceException errors are being thrown because the NMEA data arriving from the HTC is malformed.&amp;nbsp;&amp;nbsp;Since the checksum calculation is failing, a majority of NMEA data from the device is being distrusted by GPS.NET.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, May 06, 2008 at 2:45:09 AM by Jon Person&lt;/b&gt;&lt;p&gt;Since we can't just tell end-users to stop using the $700 mobile device they've already purchased, a workaround will now be necessary to support the HTC devices.&amp;nbsp;&amp;nbsp;Specifically, I will need to record the malformed NMEA sentences then adjust the NmeaSentence objects to be more lax when it comes to enforcing the checksum.&amp;nbsp;&amp;nbsp;This is a horrible workaround to implement because the checksum is critical to determine whether or not data is trustworthy.&amp;nbsp;&amp;nbsp;Simply ignoring the checksum can cause all manner of inaccurate data to become trusted.&amp;nbsp;&amp;nbsp;I will try to implement this workaround ONLY for devices with a proprietary GPSID; this should let GPS.NET continue to enforce NMEA checksums unless there's no other choice.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, May 06, 2008 at 2:46:07 AM by Jon Person&lt;/b&gt;&lt;p&gt;5/6/2008:&amp;nbsp;&amp;nbsp;I'm researching the malformed NMEA checksums now and hope to begin work on a patch today.&amp;nbsp;&amp;nbsp;With the beta of GIS.NET 3.0 coming up on the 15th, it'll be a little tough to get time to get this implemented smoothly, but it's my top priority for GPS.NET 2.0.&amp;nbsp;&amp;nbsp;This fix will not be deferred to 3.0.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, May 06, 2008 at 5:46:51 AM by Jon Person&lt;/b&gt;&lt;p&gt;So, it looks like the GPS.NET 2.3.21 workaround for HTC devices is to somehow detect the host device as HTC (if that's possible), then utilize COM4:/4800.&amp;nbsp;&amp;nbsp;This is a normal combination, so now why doesn't 4/4800 auto-detect?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, May 06, 2008 at 6:44:43 AM by Jon Person&lt;/b&gt;&lt;p&gt;After examining the NMEA data, it is actually a lot more healthy than I expected.&amp;nbsp;&amp;nbsp;Only a few errors are thrown by the AT&amp;amp;T Tilt.&amp;nbsp;&amp;nbsp;$GPGGA sentences are completely blank before a fix is obtained:&lt;br /&gt;&lt;br /&gt;OK: $GPRMC,,V,,,,,,,,,,N*53&lt;br /&gt;OK: $GPGSA,A,1,,,,,,,,,,,,,,,,*32&lt;br /&gt;OK: $GPVTG,,T,,M,,N,,K*4E&lt;br /&gt;OK: $GPGSV,3,1,10,01,69,354,,05,17,061,27,11,27,292,,12,10,047,*7A&lt;br /&gt;OK: $GPGSV,3,2,10,14,50,046,,20,11,306,23,22,37,113,27,30,21,081,27*73&lt;br /&gt;OK: $GPGSV,3,3,10,31,64,174,30,32,66,326,*7F&lt;br /&gt;Failed sentence: $GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exception: A $GPGGA sentence contained unrecognizable data.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trace:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at GeoFramework.Gps.Nmea.GpggaSentence..ctor(String sentence) in C:\Source Code\GPS.NET\2.3.20\Nmea\GpggaSentence.cs:line 225&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gps.Nmea.NmeaStream.ReadSentence(Boolean allowExceptions) in C:\Source Code\GPS.NET\2.3.20\Nmea\NmeaStream.cs:line 740&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gps.Nmea.NmeaInterpreter.OnParseIncomingData() in C:\Source Code\GPS.NET\2.3.20\Nmea\NmeaInterpreter.cs:line 2075&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gps.Interpreter.ParsingThreadProc() in C:\Source Code\GPS.NET\2.3.20\Interpreter.cs:line 1428&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 19, 2008 at 5:51:11 AM by Jon Person&lt;/b&gt;&lt;p&gt;Okay... some more information on the infamous HTC TyTn II.&amp;nbsp;&amp;nbsp;It appears now that this &amp;quot;cutting edge&amp;quot; device supports only 4800 baud connections in the GPSID.&amp;nbsp;&amp;nbsp; This design breaks the standard once again (can you tell I'm disappointed with this device?) since some GPS connections should work at any baud rate.&amp;nbsp;&amp;nbsp;Connections to the GPSID and Bluetooth devices typically support ANY baud rate simply because a virtual serial port is accepting the connection.&amp;nbsp;&amp;nbsp;When the TyTn II is first detected, GPS.NET is using a baud rate of 57600, which is not supported.&lt;br /&gt;&lt;br /&gt;Every other aspect of this device is really great!&amp;nbsp;&amp;nbsp;I mean, I use this device as my phone now.&amp;nbsp;&amp;nbsp;But OH MY GOD the GPS chip is horrible.&amp;nbsp;&amp;nbsp; At any rate, I need to work on getting the HTC's GPSID to use 4800 baud.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 19, 2008 at 7:55:30 AM by Jon Person&lt;/b&gt;&lt;p&gt;And now the plot thickens.&amp;nbsp;&amp;nbsp;I have GPS.NET automatically (and gracefully) detecting the QualComm GPS Chip.&amp;nbsp;&amp;nbsp;But now, upon connection, the QualComm chip returns no data for about 9-10 seconds, then transmits ar large chunk of sentences.&amp;nbsp;&amp;nbsp; There is no steady stream of NMEA data from this device.&amp;nbsp;&amp;nbsp;Increasing the NmeaStream.ReadTimeout to 10 seconds works around this delay, but I'm concerned now about latency.&amp;nbsp;&amp;nbsp;Holy mother of God, can this chip get any worse?&amp;nbsp;&amp;nbsp;Seriously, DONT BUY THESE DEVICES IF YOU WANT TO WRITE A COMMERCIAL GPS APP.&amp;nbsp;&amp;nbsp;I don't care how pretty and shiny they are.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 19, 2008 at 7:58:17 AM by Jon Person&lt;/b&gt;&lt;p&gt;Considering the large number of people using this device, I'm going to push out a fix today with this workaround.&amp;nbsp;&amp;nbsp;Hopefully I can nail down the ten-second delay, but if I can't people should at least be able to get an inflow of data and get this device detecting smoothly.&amp;nbsp;&amp;nbsp;It's 10AM now, I'll crank on this until about noon.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 19, 2008 at 8:34:56 AM by Jon Person&lt;/b&gt;&lt;p&gt;Sure enough, the TyTn reports an eight-second delay between bursts of NMEA data.&amp;nbsp;&amp;nbsp;This is a severe problem and it reminds me of a similar problem long ago on the Epic Fail Hewlett-Packard HW6515 which had a similar delay.&amp;nbsp;&amp;nbsp;Look at the UTC Time values (the 1st words after $GPGGA):&lt;br /&gt;&lt;br /&gt;10:00:54 AM --&amp;gt; $GPGSV,3,3,11,22,52,284,25,24,21,122,16,26,07,037,23*42&lt;br /&gt;[EIGHT SECOND PAUSE]&lt;br /&gt;10:01:03 AM --&amp;gt; $GPGGA,160054.0,3933.395726,N,10500.860317,W,1,10,1.2,1702.5,M,,,,*21&lt;br /&gt;10:01:04 AM --&amp;gt; $GPGSV,3,1,11,03,30,289,18,06,41,260,20,09,27,105,14,14,29,206,15*77&lt;br /&gt;[EIGHT SECOND PAUSE]&lt;br /&gt;10:01:12 AM --&amp;gt; $GPGSV,3,2,11,15,20,043,14,18,68,021,29,19,15,317,29,21,63,119,21*7D&lt;br /&gt;10:01:12 AM --&amp;gt; $GPGGA,160104.0,3933.395747,N,10500.859950,W,1,07,2.4,1702.5,M,,,,*22&lt;br /&gt;&lt;br /&gt;... after the pause, the time reported is now eight seconds behind.&amp;nbsp;&amp;nbsp;This is a bad chip, folks.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;A build is now underway with this patch.&amp;nbsp;&amp;nbsp;When it's released, you'll start seeing the GPS detected like this:&lt;br /&gt;&lt;br /&gt;&amp;quot;Shared GPS Device (QualComm GpsOne Card, version 0.0)&amp;quot;&lt;br /&gt;&lt;br /&gt;... the SharedGpsDevice class will look for this registry key to identify HTC devices:&lt;br /&gt;&lt;br /&gt;HKLM\System\CurrentControlSet\GPS IntermediateDriver\Drivers\GPSOneDevice&lt;br /&gt;&lt;br /&gt;... when present, the port COM4: at 4800 baud will automatically be set as the base device, allowing the device to be used automatically without any extra code.&amp;nbsp;&amp;nbsp;There's a chance that the design of other GPS.NET classes may be responsible for the delay.&amp;nbsp;&amp;nbsp;Since I've already identified areas of improvement for 3.0, I'll likely make the TYTN the first target test device for the new framework to see if that does the trick.&lt;br /&gt;&lt;br /&gt;The release supporting this workaround will be online by 12:00 Noon today, Mountain Time.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, June 20, 2008 at 8:50:43 AM by Jon Person&lt;/b&gt;&lt;p&gt;In the interest of giving developers more control over the timeout of reading NMEA data, I've added two static properties to NmeaStream, DefaultReadTimeout and DefaultWriteTimeout.&amp;nbsp;&amp;nbsp;This property will be set to 3-5 seconds by default, but for QualComm chipsets this will be set to 15 seconds.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue12.aspx</link><pubDate>Fri, 20 Jun 2008 08:50:43 GMT</pubDate></item><item><title>Issue #337 (Assigned, Research in progress): TypeInitializationException occurs in C# GPS 3.0 demo project.</title><description>&lt;b&gt;Thursday, July 23, 2009 at 12:08:15 PM by Tony Dantona&lt;/b&gt;&lt;p&gt;I get a TypeInitialization error when I start up the C# demo project. I was told this error is due to an expired license.&amp;nbsp;&amp;nbsp;I downloaded the latest demo which indicates the license is good until Aug 1st, 2009, but this did not resolve the issue.&amp;nbsp;&amp;nbsp;I even substituted a license sent to me by Jon Person which I was told was valid until Sept 15:&lt;br /&gt;[assembly: GeoFrameworksLicense(&amp;quot;175FD1-3JB254-XAB1Y1-X3X31X-5GUXA3-3AYVXM&amp;quot;)]&lt;br /&gt;To no avail.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Tony&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, July 23, 2009 at 6:14:30 PM by Jon Person&lt;/b&gt;&lt;p&gt;The key does indeed look valid.&lt;br /&gt;&lt;br /&gt;Which GeoFrameworks references are you using in your project?&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue337.aspx</link><pubDate>Thu, 23 Jul 2009 18:14:30 GMT</pubDate></item><item><title>Issue #336 (Assigned, Research in progress): Maximizing the window containing GIS.NET takes you to the wrong lat/long on the map.</title><description>&lt;b&gt;Wednesday, July 22, 2009 at 8:39:48 AM by Franklin Hernandez Paz&lt;/b&gt;&lt;p&gt;When maximizing, the GIS.Net component takes you further north and at a high zoom level. I have to zoom in to allow me to see the map as the only thing I can see is the ocean (blue background). I use VS 2008 and this happens randomly on any of the samples that come with the compent. Easy to reproduce by just running on of the samples and try to maximize (first thing) before panning the map. &lt;br /&gt;Best Regards&lt;br /&gt;Franklin&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue336.aspx</link><pubDate>Wed, 22 Jul 2009 08:39:48 GMT</pubDate></item><item><title>Issue #330 (Released): Selection Should Redraw when Selected Objects Change</title><description>&lt;b&gt;Tuesday, July 21, 2009 at 6:52:35 AM by Rui Guimaraes&lt;/b&gt;&lt;p&gt;If an object is manualy deselected the object will still look selected in the map. You have to take some action (like moving the map) for the image to refresh.&lt;br /&gt;&lt;br /&gt;This is more strange when you manually move a selected object. The selection will still be in the previous place and the object will be in another. Only after you pan/zoom/etc the map, the selection will be in the right place&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 21, 2009 at 9:53:46 AM by Jon Person&lt;/b&gt;&lt;p&gt;[some sample code which modifies the position of a Marker.&amp;nbsp;&amp;nbsp;The marker is also selected, yet the selection does not change]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; void _node_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (e.PropertyName == &amp;quot;GeoInfo&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;base.Location = new Position(((NodeVersion)sender).Latitude.ToString(), ((NodeVersion)sender).Longitude.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 21, 2009 at 11:27:09 AM by Jon Person&lt;/b&gt;&lt;p&gt;This issue resulted in a number of improvements to the Selection class:&lt;br /&gt;&lt;br /&gt;1) The &amp;quot;ClearSelectedItems&amp;quot; method has been removed.&amp;nbsp;&amp;nbsp;The &amp;quot;Clear&amp;quot; method was already sufficient.&lt;br /&gt;2) The &amp;quot;Clear&amp;quot; method will now call &amp;quot;Refresh&amp;quot; causing the selection to actually disappear on the Map control.&lt;br /&gt;3) The &amp;quot;Deselected&amp;quot; event was not properly caught by the Map control, thus causing deselected objects to remain in the selection.&amp;nbsp;&amp;nbsp;This is now fixed.&lt;br /&gt;4) The Selection class now has a &amp;quot;Deselect&amp;quot; method which, when called, will exclude an object from a selection.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue330.aspx</link><pubDate>Tue, 21 Jul 2009 11:27:09 GMT</pubDate></item><item><title>Issue #333 (Released): Satellite IsFixed property Always Appears False</title><description>&lt;b&gt;Tuesday, July 21, 2009 at 9:43:57 AM by Jon Person&lt;/b&gt;&lt;p&gt;The IsFixed property of the Satellite class always seems to be false in the NmeaInterpreter.&amp;nbsp;&amp;nbsp;This should get updated whenever a $GPGSA sentence is parsed.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue333.aspx</link><pubDate>Tue, 21 Jul 2009 09:43:57 GMT</pubDate></item><item><title>Issue #332 (Released): Exception While Disposing of Gauge Control</title><description>&lt;b&gt;Tuesday, July 21, 2009 at 9:25:41 AM by Jon Person&lt;/b&gt;&lt;p&gt;The Gauge control uses a Timer to execute animations in the control.&amp;nbsp;&amp;nbsp;Sometimes, the Timer will fire during the Dispose method on another thread, resulting in an exception.&amp;nbsp;&amp;nbsp;All Timer callbacks should have exception handling to prevent any exception during disposal.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue332.aspx</link><pubDate>Tue, 21 Jul 2009 09:25:41 GMT</pubDate></item><item><title>Issue #335 (Released): Add FixedSatelliteCount property to NmeaInterpreter</title><description>&lt;b&gt;Tuesday, July 21, 2009 at 11:18:47 AM by Jon Person&lt;/b&gt;&lt;p&gt;For some GPS devices, information about fixed GPS satellites is not available.&amp;nbsp;&amp;nbsp;This information is normally transmitted via the $GPGSA sentence, but alas this sentence is not always available.&lt;br /&gt;&lt;br /&gt;However, in lieu of no $GPGSA sentence, the $GPGGA sentence still returns a number indicating the number of fixed satellites.&amp;nbsp;&amp;nbsp; Add a property to the NmeaInterpreter called &amp;quot;FixedSatelliteCount&amp;quot; which returns this number.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 21, 2009 at 11:19:59 AM by Jon Person&lt;/b&gt;&lt;p&gt;The property has been added.&amp;nbsp;&amp;nbsp;It will change one of two ways: 1) When a $GPGGA sentence has been parsed, and 2) When a $GPGSA sentence with actual fix information is parsed.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue335.aspx</link><pubDate>Tue, 21 Jul 2009 11:19:59 GMT</pubDate></item><item><title>Issue #301 (Postponed for Later): Unhandled Exceptions Should Be Thrown, Not Channeled Through Events</title><description>&lt;b&gt;Monday, June 08, 2009 at 11:52:18 AM by Niels Keurentjes&lt;/b&gt;&lt;p&gt;When an event handler invoked from GPS.NET's worker threads causes an exception to be thrown which is not caught inside the handler it is discarded by the threads. This behaviour is intended to avoid application crashes resulting from uncaught exceptions, since the thread cannot easily do anything else with the exception. However it means in practice that implementers may not be notified of exceptions occurring in their own code or external libraries they invoke from the event handler.&lt;br /&gt;&lt;br /&gt;I think expected behaviour would be to ignore the exception and just let the application crash - it's the implementer's code at fault and if he lets an exception escape uncaught it should halt the application.&lt;br /&gt;&lt;br /&gt;Alternatively the GPS.NET framework could use Asynchronous Procedure Calls (APC) to show a messagebox detailing the exception, however I consider the 'total crash' a more correct response to uncaught exceptions.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, June 12, 2009 at 10:57:36 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Neils,&lt;br /&gt;&lt;br /&gt;I like your suggestion.&amp;nbsp;&amp;nbsp;Phil and I have gona back and forth on how to handle exceptions which are un-catchable because they occur on a separate thread.&amp;nbsp;&amp;nbsp;When we last discussed the issue, we favored events such as &amp;quot;ExceptionOccurred&amp;quot; as a way to channel exceptions.&amp;nbsp;&amp;nbsp;The thought here is that we didn't want end users to one day get an uncatchable exception.&lt;br /&gt;&lt;br /&gt;I'm willing to open this back up for discussion, however.&amp;nbsp;&amp;nbsp;It would be great to hear other developers chime in as well.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, June 21, 2009 at 9:18:39 AM by Phil Smith&lt;/b&gt;&lt;p&gt;The problem really comes from unhandled exceptions in binaries released by our clients, in which case the application just disappears. The event is there to log such errors and attempt to recover from them in a production environment.&lt;br /&gt;&lt;br /&gt;For debugging purposes, though, I see your point. An alternative would be only use the event in run mode, but not in design mode.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, July 01, 2009 at 8:39:16 PM by Bud Cribar&lt;/b&gt;&lt;p&gt;I would also prefer an ExceptionOccurred event so that it could be handled in a more user friendly way than crashing the application.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 14, 2009 at 12:14:20 PM by Jon Person&lt;/b&gt;&lt;p&gt;A good compromise here might be to check the value of System.Diagnostics.Debugger.IsAttached.&amp;nbsp;&amp;nbsp;When true, we could be pretty certain that a developer is using the code and can actually do something about the exception.&amp;nbsp;&amp;nbsp;Then, when False, perhaps only the event is used since prudction stability is so important.&lt;br /&gt;&lt;br /&gt;I'll keep this issue open so others can weigh in.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue301.aspx</link><pubDate>Tue, 14 Jul 2009 12:14:20 GMT</pubDate></item><item><title>Issue #329 (Assigned, Research in progress): Add Ability to Edit Shapes via the Mouse/Stylus</title><description>&lt;b&gt;Monday, July 20, 2009 at 12:09:35 PM by Robert Smart&lt;/b&gt;&lt;p&gt;Would it be possible to add an 'edit' property to the geographic object. When edit is true, the shape will be drawn in edit mode, with movable handles at the vertices (or on the point if it is a point shape). When edit is set to false the shape is drawn normally. The shape should also have style proprties related to the editing and grab handle style. I can supply details of when a similar technique is used on a google map if required.&lt;br /&gt;&lt;br /&gt;Thanks&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 21, 2009 at 9:39:04 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Rob, we'll most likely implement a Decoration object to facilitate object editing.&amp;nbsp;&amp;nbsp;The big challenge we have right now is that much of the GIS.NET framework is interwoven with GDI+/GDI, making it harder to port to newer graphics systems like WPF.&amp;nbsp;&amp;nbsp;As a result, we'll most likely have to separate visual members such as Visible, IsSelectable, etc. from the GeographicObject class so developers can easily target different graphics systems.&lt;br /&gt;&lt;br /&gt;However, an object inheriting from Decoration would be a good fit for the 3.0 framework.&amp;nbsp;&amp;nbsp;Since it can be redrawn very quickly, it would be ideal for shape editing.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue329.aspx</link><pubDate>Tue, 21 Jul 2009 09:39:04 GMT</pubDate></item><item><title>Issue #328 (Cannot Reproduce): Runtime Error in setup script</title><description>&lt;b&gt;Sunday, July 19, 2009 at 11:08:06 PM by Hagen Piotraschke&lt;/b&gt;&lt;p&gt;Dear Support,&lt;br /&gt;&lt;br /&gt;after a bluescreen during upgrade my GPS.NET 2.0 installation a new installation does not work :-(&lt;br /&gt;&lt;br /&gt;The installer is crashing with the following error:&lt;br /&gt;&lt;br /&gt;Runtime Error in setup script:&lt;br /&gt;&lt;br /&gt;Source File: GPS.NET 2.0&lt;br /&gt;Line Number: 222&lt;br /&gt;&lt;br /&gt;List index out of bounds (18)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Do you have any idea to fix this problem?&lt;br /&gt;&lt;br /&gt;Thanks in advance &amp;amp; best regards from Eastern Germany,&lt;br /&gt;&lt;br /&gt;Hagen&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, July 20, 2009 at 11:22:30 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm.&amp;nbsp;&amp;nbsp;I did make a change to improve installation to a custom folder, I will test it again right now.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, July 20, 2009 at 12:30:03 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Hagen, I tried the installer with custom folders and couldn't reproduce the error.&amp;nbsp;&amp;nbsp;Are you doing anything special like a custom installation?&amp;nbsp;&amp;nbsp;That would help me try and recreate the exact conditions you have.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue328.aspx</link><pubDate>Mon, 20 Jul 2009 12:30:03 GMT</pubDate></item><item><title>Issue #325 (Postponed for Later): Add an "Opacity" property to Geographic Object classes</title><description>&lt;b&gt;Monday, July 13, 2009 at 6:44:35 AM by Robert Smart&lt;/b&gt;&lt;p&gt;Is it possible to add in an opacity property? This would make it much easier to make layers translucent. this is especially applicable on image files as there is a lot of code involved in setting the pixel transparency.&lt;br /&gt;&lt;br /&gt;Thanks.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 14, 2009 at 12:23:46 PM by Jon Person&lt;/b&gt;&lt;p&gt;I would love to support this; I agree that partial transparency would significantly improve maps on mobile devices.&amp;nbsp;&amp;nbsp;Unfortunately, Microsoft deviced to exclude support for the Alpha channel from all drawing operations on the .NET Compact Framework, probably for the sake of minimizing speed and memory usage.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;It is possible to work around this, but it's a significant task, using low-level API calls or a replacement library such as &amp;quot;Xross.&amp;quot;&amp;nbsp;&amp;nbsp;I think our best bet is to wait for silicon heat problems to be solved so that mobile devices can catch up to the speed of desktops.&amp;nbsp;&amp;nbsp;Then, we probably won't need the &amp;quot;Compact&amp;quot; framework any longer.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, July 16, 2009 at 4:08:47 PM by Jon Person&lt;/b&gt;&lt;p&gt;As it turns out, Rob was talking about adding an &amp;quot;Opacity&amp;quot; property to *all* objects on the Desktop Framework.&amp;nbsp;&amp;nbsp; I agree this would be a powerful feature to add, especially when combined with the animation abilities of movable items.&amp;nbsp;&amp;nbsp; I do, however, need to research the performance implications of adding this kind of processing to the GeographicPath class.&amp;nbsp;&amp;nbsp;This would also require significant changes to the Style objects since they would need to accept a GeographicPath object instead of a GraphicsPath object.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue325.aspx</link><pubDate>Thu, 16 Jul 2009 16:08:47 GMT</pubDate></item><item><title>Issue #174 (Behavior Is By Design): Support MouseDragAction.Select on the Compact Framework</title><description>&lt;b&gt;Thursday, October 23, 2008 at 7:14:53 AM by  &lt;/b&gt;&lt;p&gt;Hi I just wanted confirm that in the Compact Framework GeoFramework.Gis.MouseDragAction.Select is not implemented yet?&amp;nbsp;&amp;nbsp;In the code I have:&lt;br /&gt;&lt;br /&gt;map1.MouseDragAction = GeoFramework.Gis.MouseDragAction.Select;&lt;br /&gt;map1.Selection.SelectionShape = GeoFramework.Shapes.Decorations.SelectionShape.Rectangle;&lt;br /&gt;&lt;br /&gt;When I perform the action I get a &amp;quot;NotImplementedException&amp;quot;.&amp;nbsp;&amp;nbsp;Will this be available in a Compact Framework release in the near future?&amp;nbsp;&amp;nbsp;Thanks for your help.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 21, 2009 at 9:33:21 AM by Jon Person&lt;/b&gt;&lt;p&gt;That's correct.&amp;nbsp;&amp;nbsp;You see, mobile devices are extrordinarily slow compared with desktops, making any sort of high-speed animations impossible to implement.&amp;nbsp;&amp;nbsp;I mean, you can even watch a TextBox redraw on these devices!&amp;nbsp;&amp;nbsp;As a result, as much as we'd like to implement the ability to draw a selection, we'll likely need faster PDA processors before this is really possible.&lt;br /&gt;&lt;br /&gt;I'll keep the request on our list to implement.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue174.aspx</link><pubDate>Tue, 21 Jul 2009 09:33:21 GMT</pubDate></item><item><title>Issue #205 (Postponed for Later): Add "ToHectares()" to the Area class</title><description>&lt;b&gt;Friday, November 28, 2008 at 6:55:46 AM by Peter van Rees&lt;/b&gt;&lt;p&gt;Would it be possible to add a 'ToHectares' method to the Area object? I use this unit very often, and keep coding 'Area.ToSquareMeters / 10000'&lt;br /&gt;&lt;br /&gt;Thanks!&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 08, 2008 at 11:48:21 AM by Jon Person&lt;/b&gt;&lt;p&gt;I see the conversion rates for Hectare are straightforward, so I'll have this implemented soon.&amp;nbsp;&amp;nbsp;This seems reasonable to implement in both GeoFramework 1.0 and 2.0.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue205.aspx</link><pubDate>Mon, 08 Dec 2008 11:48:21 GMT</pubDate></item><item><title>Issue #324 (Behavior Is By Design): Lost Communication with Serial Port</title><description>&lt;b&gt;Thursday, July 09, 2009 at 10:12:15 PM by Jean-Francois Dionne&lt;/b&gt;&lt;p&gt;Hi, the GPS Class working great, but sometime it lost the communication with the GPS serial Port, and when I do a &amp;quot;search for gps&amp;quot; it doesn't &amp;quot;scan&amp;quot; the port again... maybe a thread doesn't close the port? Any idea?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 14, 2009 at 12:16:01 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi, Jean-Francois.&amp;nbsp;&amp;nbsp;GPS.NET 2.0 will maintain a cache of previously detected GPS devices.&amp;nbsp;&amp;nbsp;As a result, when a device detection is started a second time, those devices are passed over.&amp;nbsp;&amp;nbsp;We can, however, override this behavior by making a call to &amp;quot;GeoFramework.IO.Devices.ResetDevices()&amp;quot;.&amp;nbsp;&amp;nbsp;This will flush the cache and give you the behavior you seek.&lt;br /&gt;&lt;br /&gt;The threading model in 2.0 is stable to the point where even a ThreadAbortException will trigger stable shutdown.&amp;nbsp;&amp;nbsp;I think this issue has to do with the cache.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, July 15, 2009 at 4:14:40 AM by Jean-Francois Dionne&lt;/b&gt;&lt;p&gt;Thank, I'll add the &amp;quot;ResetDevices&amp;quot; on my &amp;quot;Failure detection&amp;quot; function&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue324.aspx</link><pubDate>Wed, 15 Jul 2009 04:14:40 GMT</pubDate></item><item><title>Issue #323 (Cannot Reproduce): OverflowException When Attempting to Create Speedometer</title><description>&lt;b&gt;Wednesday, July 08, 2009 at 10:21:56 AM by Márcio Sete&lt;/b&gt;&lt;p&gt;When I try to use the speedomeeter, i receive this exception:&lt;br /&gt;&lt;br /&gt;System.InvalidOperationException was unhandled&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;Erro ao criar o formul&amp;#225;rio. Consulte Exception.InnerException para obter detalhes. O erro &amp;#233;: The type initializer for 'GeoFramework.Speed' threw an exception.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Source=&amp;quot;VIU2.0&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at VIU2.My.MyProject.MyForms.Create__Instance__[T](T Instance) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 190&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at VIU2.My.MyProject.MyForms.get_testeGauges()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at VIU2.PainelControle.ProgressBar1_Click(Object sender, EventArgs e) in D:\Projetos core quad\VIU\Sistema de Monitoramento de Imagens\slnViuVs2008\VIU2.0\PainelControle.vb:line 4323&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.ToolStripItem.OnClick(EventArgs e)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.ToolStripControlHost.HandleClick(Object sender, EventArgs e)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.Control.OnClick(EventArgs e)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.Control.WndProc(Message&amp;amp; m)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Windows.Forms.Application.Run(ApplicationContext context)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at VIU2.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Threading.ThreadHelper.ThreadStart_Context(Object state)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at System.Threading.ThreadHelper.ThreadStart()&lt;br /&gt;&amp;nbsp;&amp;nbsp;InnerException: System.TypeInitializationException&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Message=&amp;quot;The type initializer for 'GeoFramework.Speed' threw an exception.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source=&amp;quot;GeoFramework&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TypeName=&amp;quot;GeoFramework.Speed&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at GeoFramework.Speed..ctor(Double value, SpeedUnit units)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at GeoFramework.Controls.Speedometer..ctor()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at VIU2.testeGauges.InitializeComponent() in D:\Projetos core quad\VIU\Sistema de Monitoramento de Imagens\slnViuVs2008\VIU2.0\testeGauges.Designer.vb:line 26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at VIU2.testeGauges..ctor()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InnerException: System.OverflowException&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Message=&amp;quot;Arithmetic operation resulted in an overflow.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Source=&amp;quot;GeoFramework&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Speed..ctor(Double value, SpeedUnit units)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at GeoFramework.Speed.ToKilometersPerHour()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at GeoFramework.Speed.ToMetricUnitType()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at GeoFramework.Speed.ToLocalUnitType()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at GeoFramework.Speed..cctor()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InnerException:&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 14, 2009 at 12:19:52 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Marcio, the cause of this exception isn't jumping out at me, but I do see that your assembly versions are a bit out-of-date.&amp;nbsp;&amp;nbsp;You're entitled to free minor updates for 2.0; it couldn't hurt to update to the latest version.&amp;nbsp;&amp;nbsp;However, since we're deadline with Form controls, it will help to remove controls before upgrading:&lt;br /&gt;&lt;br /&gt;1) Remove any GPS controls from forms in your project.&lt;br /&gt;2) Download the latest version of GPS.NET 2.0 from here: http://www.geoframeworks.com/DownloadProducts.aspx. &lt;br /&gt;3) Install it&lt;br /&gt;4) Re-open your project, and re-add controls.&lt;br /&gt;&lt;br /&gt;... once you've finished this process, you can download newer updates without having to remove controls.&amp;nbsp;&amp;nbsp;The removal is only necessary because the assembly version numbers changed.&amp;nbsp;&amp;nbsp;They have since been frozen in order to simplify upgrading.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue323.aspx</link><pubDate>Tue, 14 Jul 2009 12:19:52 GMT</pubDate></item><item><title>Issue #326 (Released): Change AppendChecksum from protected to public</title><description>&lt;b&gt;Thursday, July 16, 2009 at 9:30:41 AM by Jon Person&lt;/b&gt;&lt;p&gt;[posted by Jon on behalf of Peter]&lt;br /&gt;&lt;br /&gt;The AppendChecksum method is currently protected.&amp;nbsp;&amp;nbsp;However, developers may need to create a proprietary NMEA sentence and need to append a checksum.&amp;nbsp;&amp;nbsp;If the AppendChecksum method were public, this would be easy.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, July 16, 2009 at 9:33:24 AM by Jon Person&lt;/b&gt;&lt;p&gt;AppendChecksum has been changed to public.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue326.aspx</link><pubDate>Thu, 16 Jul 2009 09:33:24 GMT</pubDate></item><item><title>Issue #327 (Released): GPGGA Object Should Return Fixed Satellite Count</title><description>&lt;b&gt;Thursday, July 16, 2009 at 9:37:43 AM by Jon Person&lt;/b&gt;&lt;p&gt;[posted by Jon on behalf of Juan]&lt;br /&gt;&lt;br /&gt;The GpggaSentence object in GPS.NET 3.0 appears to ignore the fixed satellite count statistic, returning -1 even if a value exists in the sentence.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, July 16, 2009 at 9:38:25 AM by Jon Person&lt;/b&gt;&lt;p&gt;This value was originally ignored because more descriptive information for the satellite count is available in the GPGSA sentence.&amp;nbsp;&amp;nbsp; In other words, if the count were non-zero, no actual satellite information would be available until the next GPGSA sentence is processed.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Still, it makes sense for the sentence object to at least correctly parse the value for custom values.&amp;nbsp;&amp;nbsp;The NmeaInterpreter will still ignore the value in favor of the actual list of fixed satellites in the GPGSA sentence.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue327.aspx</link><pubDate>Thu, 16 Jul 2009 09:38:25 GMT</pubDate></item><item><title>Issue #317 (Cannot Reproduce): Shapefile doesnt display in Map</title><description>&lt;b&gt;Sunday, June 21, 2009 at 12:40:32 AM by Luis Hidalgo&lt;/b&gt;&lt;p&gt;Display a esri shapefile &lt;br /&gt;I,m using Visual Studio 2005 on Windows Vista Home, is it a problem with that version&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 14, 2009 at 12:22:37 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Louis, I'm not sure if we resolved this issue over email before I went out-of-town.&amp;nbsp;&amp;nbsp;Can you send me the ESRI shapefile via email and let me know if this is still an issue for you?&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue317.aspx</link><pubDate>Tue, 14 Jul 2009 12:22:37 GMT</pubDate></item><item><title>Issue #319 (Assigned, Research in progress): Translating Lat/Long into UTM in special zones 31/32V</title><description>&lt;b&gt;Thursday, June 25, 2009 at 6:14:03 PM by Mark Clifford&lt;/b&gt;&lt;p&gt;I have been evaluating your product by using it to emulate some calculations I am doing to verify that my calculations are correct.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I have found that when converting Lat/Lon data into UTM using:&lt;br /&gt;&lt;br /&gt;UniversalTransverseMercatorCoordinate.FromPosition(latlon)&lt;br /&gt;&lt;br /&gt;Is returning a UTM location that is invalid in the area of the special UTM zones 31 &amp;amp; 32V.&amp;nbsp;&amp;nbsp;It appears the limits for these zones are backwards.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I have found that your code defines UTM 31V as being 9degrees wide with 32V being only 3 degrees wide.&amp;nbsp;&amp;nbsp;This should be the other way around.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;To check this I entered a UTM zone as 32V 499999 6900000 and converted it to lat/lon, which gives the correct location.&amp;nbsp;&amp;nbsp;But when I convert it back to UTM it returns:&lt;br /&gt;31V 811549 6914453&lt;br /&gt;&lt;br /&gt;where the western 31V boundary should be 500000 as well as its meridian.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 14, 2009 at 1:00:08 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Mark, my apologies for the delay.&amp;nbsp;&amp;nbsp;Phil Smith was supposed to be handling Geodesy.NET issues, but was let go since support responsibilities fell behind.&amp;nbsp;&amp;nbsp;I will look into reversing the width of zones like you stated.&amp;nbsp;&amp;nbsp;You'll get an email here as progress is made on the issue.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue319.aspx</link><pubDate>Tue, 14 Jul 2009 13:00:08 GMT</pubDate></item><item><title>Issue #285 (Postponed for Later): Add support for smaller grid intervals</title><description>&lt;b&gt;Monday, May 11, 2009 at 2:16:22 PM by Jon Person&lt;/b&gt;&lt;p&gt;Right now, the Grid object forbids any grid interval below one degree.&amp;nbsp;&amp;nbsp;This is a safeguard against misuse.&amp;nbsp;&amp;nbsp;For example, if the interval were 0.0001 degrees, a whopping number of grid lines would be generated.&amp;nbsp;&amp;nbsp;So may that the Map could not draw.&amp;nbsp;&amp;nbsp;Some users, however, need grid lines at small intervals.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 11, 2009 at 2:18:40 PM by Jon Person&lt;/b&gt;&lt;p&gt;Modify Grid to have a MaximumExtent property, controlling the area for which grid lines are generated.&amp;nbsp;&amp;nbsp;Next, add a Grid constructor accepting an extent and interval, like this:&lt;br /&gt;&lt;br /&gt;public Grid(GeographicRectangle extent, Angle interval)&lt;br /&gt;&lt;br /&gt;... the constructor should do a sanity check to see how many grid lines this actually creates, and throw an exception if the number is too large.&lt;br /&gt;&lt;br /&gt;Lastly, the remaining constructors should no longer enforce an interval &amp;gt; one degree and instead perform the sanity check.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, May 17, 2009 at 10:35:44 AM by Phil Smith&lt;/b&gt;&lt;p&gt;The default Grid was meant to be a simple grid for displaying latitude and lingitude lines on a world map. I can see many different applications of grids that the current grid lacks, such as labeling the grid lines. Linear (projected) grids would also be very useful. A UTM grid could come of this, as well as any other type of grid in projected coordinates. The orginal Grid class was left unsealed so developers could create their own custom grids. I belive some of our customers have done so. &lt;br /&gt;&lt;br /&gt;If we do this as part of the GIS.NET Framework , Grid should to becaome an abstract base with other grid types inheriting from it. The idea that a grid is only lines of latitude and longitude is rather limited.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue285.aspx</link><pubDate>Sun, 17 May 2009 10:35:44 GMT</pubDate></item><item><title>Issue #141 (Postponed for Later): Improve Support for Transparent Images on the Compact Framework</title><description>&lt;b&gt;Monday, September 01, 2008 at 4:37:52 PM by Olle Pettersson&lt;/b&gt;&lt;p&gt;Can the support for drawing images with transparency (PNG) in the map on Compact Framework be extended?&lt;br /&gt;&lt;br /&gt;I noticed that if an image is styling a permanent object, its transparency info is not used during rendering. Only movable objects keep their transparency.&lt;br /&gt;&lt;br /&gt;However when one movable object renders on top of another movable object the transparency does not work any more.&lt;br /&gt;&lt;br /&gt;Is it possible to have all the movable objects in the map render with transparency against both permanent objects and any other movable objects underneath them (by z-order)?&lt;br /&gt;&lt;br /&gt;The ideal would be to have transparency work when rendering both movable and permanent objects but I am not sure how that would affect performance. For us, transparent rendering would be most important for movable objects.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, September 02, 2008 at 6:49:35 AM by Jon Person&lt;/b&gt;&lt;p&gt;I believe that the Compact Framework's method of handling transparent is quite crippled compared to the desktop.&amp;nbsp;&amp;nbsp;The CF sets transparent pixels to the background color, instead of making them set to the underlying pixels.&amp;nbsp;&amp;nbsp;The end result is still opaque.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Alpha blending will require some P/Invoke API calls.&amp;nbsp;&amp;nbsp;Check out this blog entry: http://blogs.msdn.com/chrislorton/archive/2006/04/07/570649.aspx.&amp;nbsp;&amp;nbsp;We may integrate this into the Picture class.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue141.aspx</link><pubDate>Tue, 02 Sep 2008 06:49:35 GMT</pubDate></item><item><title>Issue #100 (Released): The AT&amp;T Tilt produces a $GPGGA sentence GPS.NET doesn't recognize</title><description>&lt;b&gt;Monday, July 14, 2008 at 4:54:50 AM by Bud Cribar&lt;/b&gt;&lt;p&gt;The ATT Tilt returns this sentence&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;&lt;br /&gt;which causes this exception&lt;br /&gt;&lt;br /&gt;GeoFramework.Gps.Nmea.NmeaSentenceException: A $GPGGA sentence contained unrecognizable data. ---&amp;gt; System.FormatException: FormatException&lt;br /&gt;at System.Number.ParseInt32()&lt;br /&gt;at System.Int32.Parse()&lt;br /&gt;at System.Int32.Parse()&lt;br /&gt;at GeoFramework.Gps.Nmea.GpggaSentence..ctor()&lt;br /&gt;at GeoFramework.Gps.Nmea.NmeaStream.ReadSentence()&lt;br /&gt;at GeoFramework.Gps.Nmea.NmeaInterpreter.OnParseIncomingData()&lt;br /&gt;at GeoFramework.Gps.Interpreter.ParsingThreadProc()&lt;br /&gt;at GeoFramework.Gps.Nmea.GpggaSentence..ctor()&lt;br /&gt;at GeoFramework.Gps.Nmea.NmeaStream.ReadSentence()&lt;br /&gt;at GeoFramework.Gps.Nmea.NmeaInterpreter.OnParseIncomingData()&lt;br /&gt;at GeoFramework.Gps.Interpreter.ParsingThreadProc()&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 2:17:38 PM by Jon Person&lt;/b&gt;&lt;p&gt;Thanks Bud, the sentence is supposed to have a minimal set of data, but I will add more checks in GpggaSentence to handle this non-standard format.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, July 01, 2009 at 8:46:31 PM by Bud Cribar&lt;/b&gt;&lt;p&gt;I downloaded the latest version (which was 2.03.20) and it still has the problem. Is there a build 2.03.21 which has the fix in it? &lt;br /&gt;&lt;br /&gt;FormatException&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Exception&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Exception&lt;br /&gt;7/1/09Time: 12:48:04 PM&lt;br /&gt;Rev. 3.00 Build 3469&lt;br /&gt;GeoFramework.Gps.Nmea.NmeaSentenceException: A $GPGGA sentence contained unrecognizable data. ---&amp;gt; System.FormatException: FormatException&lt;br /&gt;at System.Number.ParseInt32()&lt;br /&gt;at System.Int32.Parse()&lt;br /&gt;at System.Int32.Parse()&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, July 13, 2009 at 12:37:14 PM by Jon Person&lt;/b&gt;&lt;p&gt;Finally this is fixed.&amp;nbsp;&amp;nbsp;Sure enough, the blank word for satellite count (word #7) was failing.&amp;nbsp;&amp;nbsp;I will begin a build for this now.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue100.aspx</link><pubDate>Mon, 13 Jul 2009 12:37:14 GMT</pubDate></item><item><title>Issue #37 (Postponed for Later): Where did the forum go?</title><description>&lt;b&gt;Wednesday, May 21, 2008 at 7:48:02 AM by Jon Person&lt;/b&gt;&lt;p&gt;Several people have sent in emails asking where the forum went.&amp;nbsp;&amp;nbsp;The forum was originally intended to be a peer-to-peer support system where people could share code and help each other out.&amp;nbsp;&amp;nbsp;Unfortunately, some people were using the forum to get technical support even though it was pretty clearly labeled that people should be using email or live chat for this.&amp;nbsp;&amp;nbsp;So, after this occurred a few times, we got a bit tired of &amp;quot;Where is support???&amp;quot; and trying to explain things clearly.&amp;nbsp;&amp;nbsp;This new system solves the problem by giving people a direct link to us, but also in the public eye.&amp;nbsp;&amp;nbsp;By having every issue public to everybody, and providing instant notification of issues as they progress, we become more accountable for responding to issues, which is really a good thing.&lt;br /&gt;&lt;br /&gt;We'll be expanding this system to spin off a Knowledge Base for the more common issues and walkthroughs, and I'll be posting YouTube training videos to help guide folks through the major concepts of our components, especially the new 3.0 framework since there's so much to it.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, June 30, 2009 at 10:18:40 PM by  &lt;/b&gt;&lt;p&gt;My mouse accidently opened this topic when I was looking through topics, so it can be closed again. I do agree though that something more needs to be done to get community collabaration. There are so many things I'd love to know how to do with these assemblies, but the documentation is almost worse than trying to decipher windows driver development kit sdk.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, July 11, 2009 at 5:58:18 PM by Jon Person&lt;/b&gt;&lt;p&gt;No worries.&amp;nbsp;&amp;nbsp;Yeah, I agree about the forum.&amp;nbsp;&amp;nbsp;Documentation and white papers are my primary priority once GPS3 is released.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue37.aspx</link><pubDate>Sat, 11 Jul 2009 17:58:18 GMT</pubDate></item><item><title>Issue #320 (Cannot Reproduce): GeoTIFF Loading Error in DF35 GIS.NET 3 Example</title><description>&lt;b&gt;Friday, June 26, 2009 at 12:49:11 PM by Jon Person&lt;/b&gt;&lt;p&gt;There appears to be an error when loading the &amp;quot;ShadedReliefLandAndOcean.tif&amp;quot; GeoTIFF image.&amp;nbsp;&amp;nbsp;The exception is a NullReferenceException;&amp;nbsp;&amp;nbsp;a stack trace follows:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GeoTiff.ReadTags()&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GeoTiff..ctor(Stream stream)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GeoTiff..ctor(String fileName)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Examples.GeoTiffForm..ctor() in C:\Program Files (x86)\GeoFrameworks\GIS.NET 3.0\Desktop Framework 3.5\Examples\C#\9. GeoTIFF Images\GeoTiffForm.cs:line 25&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Examples.MainForm.geoTiffLink_LinkClicked(Object sender, LinkLabelLinkClickedEventArgs e) in C:\Program Files (x86)\GeoFrameworks\GIS.NET 3.0\Desktop Framework 3.5\Examples\C#\MainForm.cs:line 125&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.LinkLabel.OnMouseUp(MouseEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Label.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Examples.Program.Main() in C:\Program Files (x86)\GeoFrameworks\GIS.NET 3.0\Desktop Framework 3.5\Examples\C#\Program.cs:line 19&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading.ThreadHelper.ThreadStart()&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, June 26, 2009 at 1:02:34 PM by Jon Person&lt;/b&gt;&lt;p&gt;It looks like the examples cannot find the FreeImage library.&amp;nbsp;&amp;nbsp;Since it's unmanaged, we'll have to install it somewhere it can always be found.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, June 26, 2009 at 1:12:05 PM by Jon Person&lt;/b&gt;&lt;p&gt;FreeImage is being added (again) to the installer targeting the Windows system folder.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, June 26, 2009 at 1:16:16 PM by Jon Person&lt;/b&gt;&lt;p&gt;That is resolved, but now I get a &amp;quot;BadImageFormat&amp;quot; exception as if the DLL were corrupted.&amp;nbsp;&amp;nbsp;I'm unassigning this.&amp;nbsp;&amp;nbsp;Phil, can you make sure a working copy of the FreeImage unmanaged DLL is in Surround?&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Imaging.FreeImage.GetVersion_()&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Imaging.FreeImage.GetVersion()&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 29, 2009 at 2:55:39 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Downloaded the latest installer. All the dll's installed correctly and the GeoTIFF example ran without error. Closing.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue320.aspx</link><pubDate>Mon, 29 Jun 2009 14:55:39 GMT</pubDate></item><item><title>Issue #310 (Released): Allow Customers to Add Users to a GeoFrameworks Account</title><description>&lt;b&gt;Friday, June 12, 2009 at 11:33:13 PM by Jon Person&lt;/b&gt;&lt;p&gt;Currently, the GeoFrameworks web site associates only a single user to an account.&amp;nbsp;&amp;nbsp;This can be troublesome if, for example, a reseller set up the account but their customer accidentally lost their license keys.&amp;nbsp;&amp;nbsp;As a result, it would be helpful if additional email addresses could be associated with an account, allowing it to be shared.&lt;br /&gt;&lt;br /&gt;The system shall be expanded to allow email addresses and names to be linked to an account.&amp;nbsp;&amp;nbsp;Each linked user will also have an access level:&lt;br /&gt;&lt;br /&gt;1) Administrator - Can change any account setting, modify email preferences, and edit the Google PageRank program.&amp;nbsp;&amp;nbsp;Can add or remove other account associations.&lt;br /&gt;2) Purchaser - Can review previous orders and look up license keys.&amp;nbsp;&amp;nbsp;Cannot edit account settings.&lt;br /&gt;3) Developer - Can look up license keys.&amp;nbsp;&amp;nbsp;Cannot view orders or edit account settings.&lt;br /&gt;&lt;br /&gt;... if you all would like to see other changes, feel free to chime in.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, June 25, 2009 at 9:22:05 PM by Jon Person&lt;/b&gt;&lt;p&gt;User account management is now live on the GeoFrameworks web site.&amp;nbsp;&amp;nbsp;All existing customers have been migrated to the new system with Administrator privileges and can now create other accounts.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue310.aspx</link><pubDate>Thu, 25 Jun 2009 21:22:05 GMT</pubDate></item><item><title>Issue #316 (Behavior Is By Design): Increment Version Number of Subsequent Releases</title><description>&lt;b&gt;Wednesday, June 17, 2009 at 6:54:49 AM by Peter van Rees&lt;/b&gt;&lt;p&gt;As far as I can tell version numbers of assemblies stay exactly the same with every bug fix release. This makes it impossible to tell which version you are working with at any given moment, and it complicates distribution because the default mechanism of replacing files based on their versionnumbers does not work.&lt;br /&gt;&lt;br /&gt;I understand major, and even minor stay the same, but why is revision or build not incremented when a new version is released?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, June 24, 2009 at 8:54:19 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Peter, we originally did increment the version number on releases, but this caused problems with developers.&amp;nbsp;&amp;nbsp;Specifically, Windows Forms apps use an absolute reference to components.&amp;nbsp;&amp;nbsp;For example, if an &amp;quot;NmeaInterpreter&amp;quot; is on a Form, there is a specific version number attached to that control.&amp;nbsp;&amp;nbsp;If the version number changes, the form breaks.&lt;br /&gt;&lt;br /&gt;We could probably look into releasing &amp;quot;Publisher Policy&amp;quot; assemblies but this looks to be a messy solution right now because it involves adding special assemblies to the Global Assembly Cache.&amp;nbsp;&amp;nbsp;If we do several releases in a week, it can quickly clutter up the GAC.&amp;nbsp;&amp;nbsp;For now, it seems cleaner to leave the version number alone (as Microsoft does for the framework itself) and instead try to keep developers in the loop as new releases occur.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue316.aspx</link><pubDate>Wed, 24 Jun 2009 08:54:19 GMT</pubDate></item><item><title>Issue #315 (Cannot Reproduce): VS 2005 problems with GPS.NET 2.0</title><description>&lt;b&gt;Wednesday, June 17, 2009 at 5:25:50 AM by Marco Schoenen&lt;/b&gt;&lt;p&gt;Hello,&lt;br /&gt;&lt;br /&gt;first of all, sorry for my english.&lt;br /&gt;&lt;br /&gt;While opening &amp;quot;form1&amp;quot; in the vb.net cf 2.0 example or while adding the &amp;quot;nmeainterpreter&amp;quot; to my own wm5 project /form, I get the following error message:&lt;br /&gt;&lt;br /&gt;Die Datei oder Assembly &amp;quot;Microsoft.CompactFramework.Build.Tasks, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&amp;quot; oder eine Abh&amp;#228;ngigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden. &lt;br /&gt;Ausblenden&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;bei System.ModuleHandle.ResolveType(Int32 typeToken, RuntimeTypeHandle* typeInstArgs, Int32 typeInstCount, RuntimeTypeHandle* methodInstArgs, Int32 methodInstCount)&lt;br /&gt;bei System.ModuleHandle.ResolveTypeHandle(Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)&lt;br /&gt;bei System.Reflection.Module.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)&lt;br /&gt;bei System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord, MetadataImport scope, Assembly&amp;amp; lastAptcaOkAssembly, Module decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, Object[] attributes, IList derivedAttributes, RuntimeType&amp;amp; attributeType, RuntimeMethodHandle&amp;amp; ctor, Boolean&amp;amp; ctorHasParameters, Boolean&amp;amp; isVarArg)&lt;br /&gt;bei System.Reflection.CustomAttribute.GetCustomAttributes(Module decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes)&lt;br /&gt;bei System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit)&lt;br /&gt;bei System.RuntimeType.GetCustomAttributes(Type attributeType, Boolean inherit)&lt;br /&gt;bei System.ComponentModel.ReflectTypeDescriptionProvider.ReflectGetAttributes(Type type)&lt;br /&gt;bei System.ComponentModel.ReflectTypeDescriptionProvider.ReflectedTypeData.GetAttributes()&lt;br /&gt;bei System.ComponentModel.TypeDescriptor.TypeDescriptionNode.DefaultTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetAttributes()&lt;br /&gt;bei System.ComponentModel.TypeDescriptor.TypeDescriptionNode.DefaultTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetAttributes()&lt;br /&gt;bei System.ComponentModel.TypeDescriptor.TypeDescriptionNode.DefaultTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetAttributes()&lt;br /&gt;bei System.ComponentModel.TypeDescriptor.GetAttributes(Type componentType)&lt;br /&gt;bei Microsoft.CompactFramework.Build.MetadataService.GetTypeAttributes(Type desktopType)&lt;br /&gt;bei Microsoft.CompactFramework.Design.DeviceCustomTypeDescriptor.GetAttributes()&lt;br /&gt;bei System.ComponentModel.TypeDescriptor.TypeDescriptionNode.DefaultTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetAttributes()&lt;br /&gt;bei System.ComponentModel.TypeDescriptor.GetAttributes(Object component, Boolean noCustomTypeDesc)&lt;br /&gt;bei System.ComponentModel.TypeDescriptor.GetAttributes(Object component)&lt;br /&gt;bei Microsoft.CompactFramework.Design.FilterTypeDescriptionProvider.RegisterInstance(Object instance, IServiceProvider provider, Boolean recurseInstance, Boolean setdefaults, Boolean toplevel, Dictionary`2 exceptedProperties, Dictionary`2 childexclusions)&lt;br /&gt;bei Microsoft.CompactFramework.Design.CreateInstanceService.OnComponentAdding(Object sender, ComponentEventArgs ce)&lt;br /&gt;bei System.ComponentModel.Design.DesignerHost.AddToContainerPreProcess(IComponent component, String name, IContainer containerToAddTo)&lt;br /&gt;bei System.ComponentModel.Design.DesignerHost.Add(IComponent component, String name)&lt;br /&gt;bei System.ComponentModel.Design.DesignerHost.System.ComponentModel.Design.IDesignerHost.CreateComponent(Type componentType, String name)&lt;br /&gt;bei System.ComponentModel.Design.Serialization.DesignerSerializationManager.CreateInstance(Type type, ICollection arguments, String name, Boolean addToContainer)&lt;br /&gt;bei System.ComponentModel.Design.Serialization.DesignerSerializationManager.System.ComponentModel.Design.Serialization.IDesignerSerializationManager.CreateInstance(Type type, ICollection arguments, String name, Boolean addToContainer)&lt;br /&gt;bei System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeInstance(IDesignerSerializationManager manager, Type type, Object[] parameters, String name, Boolean addToContainer)&lt;br /&gt;bei System.ComponentModel.Design.Serialization.ComponentCodeDomSerializer.DeserializeInstance(IDesignerSerializationManager manager, Type type, Object[] parameters, String name, Boolean addToContainer)&lt;br /&gt;bei System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)&lt;br /&gt;bei System.ComponentModel.Design.Serialization.CodeDomSerializer.DeserializeStatementToInstance(IDesignerSerializationManager manager, CodeStatement statement)&lt;br /&gt;bei System.ComponentModel.Design.Serialization.CodeDomSerializer.Deserialize(IDesignerSerializationManager manager, Object codeObject)&lt;br /&gt;bei System.Windows.Forms.Design.ControlCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, Object codeObject)&lt;br /&gt;bei System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.DeserializeName(IDesignerSerializationManager manager, String name, CodeStatementCollection statements) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I cannot edit my form anymore.&lt;br /&gt;&lt;br /&gt;Thanks your help.&lt;br /&gt;&lt;br /&gt;With best regards &lt;br /&gt;Marco&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, June 24, 2009 at 8:51:32 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Marco, Visual Studio 9.0 is Visual Studio 2008.&amp;nbsp;&amp;nbsp;The project you're working on is probably using Compact Framework 3.5, not 2.0.&amp;nbsp;&amp;nbsp;Check that your project is actually using .NET CF 2.0.&amp;nbsp;&amp;nbsp;You can do this using the Project Properties; there's a drop-down box where you can target 2.0 or 3.5.&lt;br /&gt;&lt;br /&gt;This problem is probably happening because the project is version 3.5 but is refencing 2.0 assemblies.&amp;nbsp;&amp;nbsp;Compact Framework 2.5 is not compatible with 2.0.&amp;nbsp;&amp;nbsp;It's important that the project and all its references use the same version of the Compact Framework.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue315.aspx</link><pubDate>Wed, 24 Jun 2009 08:51:32 GMT</pubDate></item><item><title>Issue #318 (Released): Improvements in selection</title><description>&lt;b&gt;Monday, June 22, 2009 at 9:54:56 AM by Rui Guimaraes&lt;/b&gt;&lt;p&gt;Regarding the improvement reported in bug #299 in the following point:&lt;br /&gt;&lt;br /&gt;&amp;quot;&lt;br /&gt;3) The two properties would be read/write for the Layer class, thus allowing objects such as geographic files to be loaded but then also excluded from a search without forcing developers to inherit EsriShapefile.&lt;br /&gt;&amp;quot;&lt;br /&gt;&lt;br /&gt;While loading a ESRI file with to an layer with th option IsSelectable = false I am still able to select objects in this layers. I was expecting not to be able to do so.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, June 24, 2009 at 8:47:57 AM by Jon Person&lt;/b&gt;&lt;p&gt;The Layer class now has a read/write IsSearchable property which will control search behavior.&amp;nbsp;&amp;nbsp;When set to False, it will effectively disable Search methods both for the layer and any child objects.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue318.aspx</link><pubDate>Wed, 24 Jun 2009 08:47:57 GMT</pubDate></item><item><title>Issue #309 (Released): Improvements to the Documentation System</title><description>&lt;b&gt;Friday, June 12, 2009 at 11:20:02 PM by Jon Person&lt;/b&gt;&lt;p&gt;Documentation is quite a challenge for component developers these days.&amp;nbsp;&amp;nbsp;The Microsoft Sandcastle solution is an absolute joke, usable only by the engineer who wrote it.&amp;nbsp;&amp;nbsp;Open source projects like NDoc are sadly no longer supported.&amp;nbsp;&amp;nbsp;As a result, we've developed a home-grown documentation system which uses .NET Reflection to import our components into a SQL Server.&amp;nbsp;&amp;nbsp;The system is paired with an ASP.NET front end and now delivers over 10,000 web pages of content for all products.&lt;br /&gt;&lt;br /&gt;The system has been needing improvements for some time now.&amp;nbsp;&amp;nbsp;First, the system did not clearly indicate if types and members were supported on the Compact Framework.&amp;nbsp;&amp;nbsp;Second, the system did not document types or members existing only on the CF.&amp;nbsp;&amp;nbsp;Lastly, the import process was extremely slow, since each type and member required a stored procedure call to the server.&lt;br /&gt;&lt;br /&gt;The system is now being overhauled to support both the desktop and mobile device types and members, and is being replaced with a bulk-insert system which can drop and re-import the entire document infrastructure in about 10 seconds.&amp;nbsp;&amp;nbsp;This will eliminate the normal downtime of the system.&lt;br /&gt;&lt;br /&gt;Due to signficiant database table changes, the current system will be offline.&amp;nbsp;&amp;nbsp;I'll probably finish the new system over the weekend.&lt;br /&gt;&lt;br /&gt;I'm also considering opening this system up to other developers eventually.&amp;nbsp;&amp;nbsp;The SQL/ASP.NET solution has so far worked extremely well for us, and it would be a shame to see no .NET documentation solution out there for others.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, June 17, 2009 at 11:23:35 PM by Jon Person&lt;/b&gt;&lt;p&gt;The documentation system now separates examples out to separate pages to make them easier to navigate.&amp;nbsp;&amp;nbsp;Also, icons have been added for all types and members which are also supported on the Compact Framework.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue309.aspx</link><pubDate>Wed, 17 Jun 2009 23:23:35 GMT</pubDate></item><item><title>Issue #314 (Behavior Is By Design): Trial License Keys Expired for GPS.NET 3.0</title><description>&lt;b&gt;Tuesday, June 16, 2009 at 7:04:09 AM by Hagen Piotraschke&lt;/b&gt;&lt;p&gt;There's an issue with GPS.NET 3.0 beta (with all builds since 2009-06-10), so I see only exceptions. Neither using in WinForms nor in WPF is working. Also the example app in C:\Program Files (x86)\GeoFrameworks\GPS.NET 3.0\Desktop Framework 3.5\GPS Diagnostics is crashing with an exception during start, and there's no documentation for my purchased GPS.NET 3.0 :-(&lt;br /&gt;&lt;br /&gt;So I asked the support as well the sales channel for any possibility to use my licence key for 3.0 with the &amp;quot;old&amp;quot; stable 2nd version. I'm sure, the enhancements of GPS.NET 3.0 are fine, but on the other hand it should be also possible to wait some weeks for this...&lt;br /&gt;&lt;br /&gt;What can you suggest for my problem(s)?&lt;br /&gt;&lt;br /&gt;Kind regards,&lt;br /&gt;&lt;br /&gt;Hagen&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, June 16, 2009 at 10:12:58 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Hagen,&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Certainly, I will add a license key for 2.0 to your account.&amp;nbsp;&amp;nbsp;Version 3.0 is still in beta right now, which is why documentation and examples are still sparse at the moment.&amp;nbsp;&amp;nbsp; We have a database update in progress now but once it completes I'll add the second key for you.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue314.aspx</link><pubDate>Tue, 16 Jun 2009 10:12:58 GMT</pubDate></item><item><title>Issue #302 (Cannot Reproduce): USB-Receiver (u-blox 5) not detected</title><description>&lt;b&gt;Tuesday, June 09, 2009 at 5:45:55 AM by Hagen Piotraschke&lt;/b&gt;&lt;p&gt;After purchasing GPS.NET 3.0 for .NET Framework 2.0 and 3.5 today I see the first issue:&lt;br /&gt;&lt;br /&gt;An USB Receiver with u-blox 5 chipset (http://www.navilock.de/produkte/gruppen/3/Kabel_Empfaenger/60095_NL-402U.html) and used with the USB driver Version 1.2.0.1 from u-blox (http://www.u-blox.com/en/usb-drivers.html), which is realizing a COM port, is not detectable for GPS.NET! Any other GPS application can use this COM port to read the NMEA from there. Is it possible to see the problem in the 5 Hz refresh rate of the GPS receiver?&lt;br /&gt;&lt;br /&gt;Kind regards from Eastern Germany,&lt;br /&gt;&lt;br /&gt;Hagen&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, June 09, 2009 at 5:38:21 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Hagen, thanks for your detailed bug report.&amp;nbsp;&amp;nbsp;I'm curious what the specific baud rate and COM: port are for the GPS device?&amp;nbsp;&amp;nbsp; With this information it should be easier for me to help you get this device working.&amp;nbsp;&amp;nbsp;Usually a USB-to-serial driver will work fine so long as the device transmits well-formed NMEA data.&lt;br /&gt;&lt;br /&gt;There was also a fix to baud rate detection this afternoon.&amp;nbsp;&amp;nbsp;If your device uses a baud rate other than 4800 then this fix could improve connectivity.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, June 09, 2009 at 5:42:47 PM by Jon Person&lt;/b&gt;&lt;p&gt;According to the PDF specification, the device supports the most common NMEA sentences at all baud rates (4800-115200).&amp;nbsp;&amp;nbsp;I'm curious if this could be caused by the baud rate issue discovered today.&lt;br /&gt;&lt;br /&gt;GPS.NET 3.0 is still in beta for about another 2-3 weeks; most of the time will be spent on examples and documentation.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, June 10, 2009 at 3:22:41 AM by Hagen Piotraschke&lt;/b&gt;&lt;p&gt;Hi Jon, &lt;br /&gt;and thank you for the fast response! I'm not sure if it's only a problem of this u-blox 5 receiver... &lt;br /&gt;Today I've tried it again with a bis fat Trimble box over a real RS232 (COM 1 with 9600 Baud) - and this was also not detected (of course no problem with a terminal)! Then I've seen the new build an installed it with removing the prior installation. After that I refreshed all references to the GeoFrameworks assemblies - but what happened? The app is crashing by Devices.BeginDetection() before InitializeComponent() in Window1()! Maybe I'm a Greenhorn, but I'm really confused now :-(&lt;br /&gt;Is there any example code for GPS.NET 3.0 in a WPF application?&lt;br /&gt;Thanks a lot in advance &amp;amp; best regards from &amp;quot;good old europe&amp;quot;! &lt;br /&gt;Hagen&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, June 16, 2009 at 1:11:11 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Hagen,&amp;nbsp;&amp;nbsp;there was a recent fix for the baud rate detection in GPS.NET 3.0 beta.&amp;nbsp;&amp;nbsp;I've added a key for 2.0 for you so you can write your application against that.&amp;nbsp;&amp;nbsp;3.0 will be in beta for another couple of weeks yet.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue302.aspx</link><pubDate>Tue, 16 Jun 2009 13:11:11 GMT</pubDate></item><item><title>Issue #313 (Released): Beta Trial Period Extended to August 1st</title><description>&lt;b&gt;Monday, June 15, 2009 at 10:18:35 PM by Jon Person&lt;/b&gt;&lt;p&gt;The beta trial period for GPS.NET 3.0 has been extended to August 1st.&amp;nbsp;&amp;nbsp;An official release will be made before this date; the extension gives us more time to complete non-coding requirements such as documentation and examples.&lt;br /&gt;&lt;br /&gt;The extended trial results in a new trial key, which will be updated for the &amp;quot;GPS Diagnostics&amp;quot; example applications.&amp;nbsp;&amp;nbsp;Developers can copy this new trial key to their own applications.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 15, 2009 at 10:59:19 PM by Jon Person&lt;/b&gt;&lt;p&gt;Developers can use this trial key to unlock the GPS.NET 3.0 assemblies until August 1st, 2009.&lt;br /&gt;&lt;br /&gt;1JCFD1-3JB254-XAB1Y1-X3X31X-5GUX33-3AYVXB&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue313.aspx</link><pubDate>Mon, 15 Jun 2009 22:59:19 GMT</pubDate></item><item><title>Issue #299 (Released): Improve the behavior of the Selection events</title><description>&lt;b&gt;Wednesday, June 03, 2009 at 2:55:08 AM by Rui Guimaraes&lt;/b&gt;&lt;p&gt;After a selection is complete (SelectComplete) the list of selected Objects (Selection.Items) is still empty. We would expect that the highlighted (selected) objects would be be in that list.&lt;br /&gt;&lt;br /&gt;This is happening in the GIS.NET 3.0 C# Examples of selection as well.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 15, 2009 at 9:26:41 AM by Jon Person&lt;/b&gt;&lt;p&gt;Developers are expecting the Map.Selection.Items property to be populated when the SelectComplete event fires.&amp;nbsp;&amp;nbsp;However, the current code only poppulates the list after the event, which doesn't make sense.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 15, 2009 at 10:06:19 AM by Jon Person&lt;/b&gt;&lt;p&gt;The current selection behavior of the Map control is such that the &amp;quot;SelectComplete&amp;quot; event is raised before the Selection.Items property is populated.&amp;nbsp;&amp;nbsp;This is not intuitive.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 15, 2009 at 10:07:16 AM by Jon Person&lt;/b&gt;&lt;p&gt;In order to improve selection behavior, modifications are being made:&lt;br /&gt;&lt;br /&gt;1) An &amp;quot;IsSearchable&amp;quot; virtual, read-only property is being added to GeographicObject.&amp;nbsp;&amp;nbsp;When overridden, allows any object to be excluded from Search methods.&lt;br /&gt;2) An &amp;quot;IsSelectable&amp;quot; virtual, read-only property is being added to GeographicObject.&amp;nbsp;&amp;nbsp;When overridden, allows any object to be excluded from a selection.&lt;br /&gt;3) The two properties would be read/write for the Layer class, thus allowing objects such as geographic files to be loaded but then also excluded from a search without forcing developers to inherit EsriShapefile.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue299.aspx</link><pubDate>Mon, 15 Jun 2009 10:07:16 GMT</pubDate></item><item><title>Issue #311 (Released): Provide the Ability to Disable Searching When Selections Change</title><description>&lt;b&gt;Monday, June 15, 2009 at 8:19:21 AM by Robert Smart&lt;/b&gt;&lt;p&gt;It would be good to allow the user to be able to drag a box on the screen without having it automatically select everything. The user can then use the zoom option. This feature would speed up the zooming process on complicated datasets.&lt;br /&gt;&lt;br /&gt;Some events around the selection box would also compliment the behavior (like 'SelectionMade' or something).&lt;br /&gt;&lt;br /&gt;A few methods like zoomToSelection and SelectAllInBox would allow the user to control behavior from the code. &lt;br /&gt;&lt;br /&gt;Some events around the zooming (like 'ZoomedIn', 'zoomedOut', 'ZoomChanged') would also help developers program custom dataloading.&lt;br /&gt;&lt;br /&gt;A ZoomToScale method would also be nice.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 15, 2009 at 2:34:14 PM by Jon Person&lt;/b&gt;&lt;p&gt;Two new properties were added to a build this morning which should help you implement this behavior.&lt;br /&gt;&lt;br /&gt;GeographicObject.IsSelectable and GeographicObject.IsSearchable let you exclude objects from search and selection operations.&amp;nbsp;&amp;nbsp;With these properties, you should now be able to set &amp;quot;Map.PermanentItems.IsSelectable = false;&amp;quot; to disable selection behavior for objects.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue311.aspx</link><pubDate>Mon, 15 Jun 2009 14:34:14 GMT</pubDate></item><item><title>Issue #312 (Released): GML Deserialization Should Work with GML Snippets</title><description>&lt;b&gt;Monday, June 15, 2009 at 8:27:53 AM by Jon Person&lt;/b&gt;&lt;p&gt;[Posted by Jon Person]&lt;br /&gt;&lt;br /&gt;The GML deserialization code appears to have problems if a snippet of GML is deserialized.&amp;nbsp;&amp;nbsp;Calling a Marker, Line, or Polygon constructor with an XmlReader is not working.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 15, 2009 at 8:28:45 AM by Jon Person&lt;/b&gt;&lt;p&gt;For speed, the GmlFile class used atomized strings for GML elements.&amp;nbsp;&amp;nbsp;This performed very well.&amp;nbsp;&amp;nbsp;However, it also prevented GML deserialization from working for any non-atomized strings.&amp;nbsp;&amp;nbsp;For developers deserializaing GML without using the GmlFile class, deserialization would not work.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 15, 2009 at 8:30:19 AM by Jon Person&lt;/b&gt;&lt;p&gt;The deserialization technique for GML has been changed from atomized strings to ordinal string comparison.&amp;nbsp;&amp;nbsp;This is slightly slower, but will enable functionality for deserializing snippets of GML without using the GmlFile class.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 15, 2009 at 8:37:39 AM by Jon Person&lt;/b&gt;&lt;p&gt;The new code has tested successfully.&amp;nbsp;&amp;nbsp;A release is pending.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[C#]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string snippet = &amp;quot;&amp;lt;geoframework:vectormappolygon xmlns:geoframework=\&amp;quot;http://www.geoframeworks.com/gml\&amp;quot;&amp;gt;&amp;lt;gml:featureMember xmlns:gml=\&amp;quot;http://www.opengis.net/gml\&amp;quot;&amp;gt;&amp;lt;gml:Polygon&amp;gt;&amp;lt;gml:exterior&amp;gt;&amp;lt;gml:posList dimension=\&amp;quot;2\&amp;quot; count=\&amp;quot;17\&amp;quot;&amp;gt;5.7705547569658542 52.484496988352973 5.7702403956759145 52.484340179189758 5.7675665246690722 52.485806443705769 5.7688538264945883 52.486713560071401 5.7726450116120045 52.486232795679292 5.7702986310963604 52.486136153746386 5.7722106725246958 52.485322957088641 5.7721587644958934 52.485297066247668 5.7721248511284413 52.485297176211041 5.7718260543068425 52.485272085464302 5.7712275578397705 52.485091883091258 5.7710985990545751 52.48498806349226 5.7710973165353661 52.484987288782193 5.7702918731441519 52.48532971295738 5.7709146078493641 52.484876922560609 5.7706699453092893 52.484729131451218 5.7705836744823209 52.484599388529951&amp;lt;/gml:posList&amp;gt;&amp;lt;/gml:exterior&amp;gt;&amp;lt;/gml:Polygon&amp;gt;&amp;lt;/gml:featureMember&amp;gt;&amp;lt;/geoframework:vectormappolygon&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XmlTextReader reader = new XmlTextReader(new MemoryStream(ASCIIEncoding.ASCII.GetBytes(snippet)));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Polygon test = new Polygon(Projection.Default, reader);&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue312.aspx</link><pubDate>Mon, 15 Jun 2009 08:37:39 GMT</pubDate></item><item><title>Issue #308 (Released): Email Notifications Added for All Issues</title><description>&lt;b&gt;Friday, June 12, 2009 at 11:16:32 PM by Jon Person&lt;/b&gt;&lt;p&gt;The Issue Tracking System has been improved to send email notifications for issues:&lt;br /&gt;&lt;br /&gt;1) You will be emailed when a new issue is posted with a link to the issue's web page, where you can check its status.&lt;br /&gt;2) You will be emailed when a new comment has been added.&amp;nbsp;&amp;nbsp;If the issue is assigned to a developer, they will also be copied.&lt;br /&gt;3) You will be emailed when there is new activity for an issue.&amp;nbsp;&amp;nbsp;If the issue is assigned to a developer, they will also be copied.&lt;br /&gt;&lt;br /&gt;... these improvements will improve communication between you and our technical support team, and should help to move issues along more quickly.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue308.aspx</link><pubDate>Fri, 12 Jun 2009 23:16:32 GMT</pubDate></item><item><title>Issue #296 (Behavior Is By Design): In SmartDevice projects, I can't add controls from toolbox</title><description>&lt;b&gt;Monday, June 01, 2009 at 5:05:16 PM by Corey Smith&lt;/b&gt;&lt;p&gt;When I drag controls (Altimeter, Clock, Compass, Radar, etc.) from the VS toolbox onto my form or into the control area the controls are not added to my form.&amp;nbsp;&amp;nbsp;As I am dragging, it appears normal, etc. but when I let go of the mouse button, the control is not added to my form.&amp;nbsp;&amp;nbsp;I checked to make sure my toolbox is referencing the correct DLL and it is pointing to the assembly &amp;quot;GeoFramework.Gps (3.0.0.0)&amp;quot;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 01, 2009 at 9:12:00 PM by Corey Smith&lt;/b&gt;&lt;p&gt;I uninstalled GPS.net 2 and reinatlled 3 Beta and this resolved my issue&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue296.aspx</link><pubDate>Mon, 01 Jun 2009 21:12:00 GMT</pubDate></item><item><title>Issue #307 (Released): NullReferenceException on Desktops With No Serial Devices</title><description>&lt;b&gt;Tuesday, June 09, 2009 at 7:44:03 PM by Jon Person&lt;/b&gt;&lt;p&gt;I picked up an HP Mini 1000 this past week in order to test our software against the Intel Atom processor and Solid-State Drives.&amp;nbsp;&amp;nbsp;So far I'm really impressed with the combintion of this device and Windows 7 RC1.&amp;nbsp;&amp;nbsp;A 16GB CompactFlash drive was set up with ReadyBoost (probably overkill lol), and the RAM was upgraded to 2GB for about $26US.&amp;nbsp;&amp;nbsp;Considering the low cost of these mini-laptop &amp;quot;netbooks,&amp;quot; I see them as an excellent host platform for developers who need more processing power than Smartphone/WM5 devices, but still need maximum portability.&lt;br /&gt;&lt;br /&gt;While testing, I encountered an error in GPS3 beta, caused by the fact this netbook has no serial devices.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, June 09, 2009 at 7:47:25 PM by Jon Person&lt;/b&gt;&lt;p&gt;The netbook has no serial devices.&amp;nbsp;&amp;nbsp;As a result, the registry key HKLM\HARDWARE\DEVICEMAP\SERIALCOMM was completely missing.&amp;nbsp;&amp;nbsp;I've added null checking to this and will do the same to other device classes.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue307.aspx</link><pubDate>Tue, 09 Jun 2009 19:47:25 GMT</pubDate></item><item><title>Issue #303 (Released): Intermittant IOException in NmeaReader Class</title><description>&lt;b&gt;Tuesday, June 09, 2009 at 8:22:53 AM by Corey Smith&lt;/b&gt;&lt;p&gt;I am getting the following exception when using the NetworkDevice as the source.&amp;nbsp;&amp;nbsp;This happens after connecting just fine, and reading in many sentences of NMEA data.&amp;nbsp;&amp;nbsp;I output the NMEA data to the output window, and it is included below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;System.IO.IOException occurred&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;No data is available from the underlying stream.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Source=&amp;quot;GeoFramework.Gps&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gps.Nmea.NmeaReader.ReadSentence()&lt;br /&gt;&amp;nbsp;&amp;nbsp;InnerException: &lt;br /&gt;null&lt;br /&gt;&lt;br /&gt;Output window:&lt;br /&gt;Main -- User started main server&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,12,12,087,13,18,41,101,17*7C&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,14,71,330,20*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,14,71,330,20,30,16,115,22*7B&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,14,71,330,20,30,16,115,22*7B&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,14,71,330,20,30,16,115,22*7B&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,01,30,16,115,22*49&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,30,16,115,23,31,30,195,15*73&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,30,16,115,23,31,30,195,15*73&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,30,16,113,22,31,32,195,19*7A&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,30,16,113,22,31,32,195,19*7A&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,30,16,113,23,31,32,195,19*7B&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,30,16,113,23,31,32,195,19*7B&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,30,16,113,23,31,32,195,19*7B&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,30,16,113,23,31,32,195,19*7B&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,30,16,113,22,31,32,195,19*7A&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,50.00,50.00,50.00*35&lt;br /&gt;$GPGSV,1,1,02,30,16,113,22,31,32,195,19*7A&lt;br /&gt;$GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;$GPRMC,,V,,,,,,,,,*31&lt;br /&gt;A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, June 09, 2009 at 5:44:31 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Corey, I experienced the same exception today while testing another device.&amp;nbsp;&amp;nbsp;This happened intermittantly; the device simply didn't repond within the timeout.&amp;nbsp;&amp;nbsp;I've beefed up the NmeaReader class to try up to five times to get something other than null before giving up.&amp;nbsp;&amp;nbsp;This was enough to resolve the issue for the other device I'm testing, so hopefully it affects you as well.&lt;br /&gt;&lt;br /&gt;Regarding the OverflowException, would you be able to get a stack trace from the exception?&amp;nbsp;&amp;nbsp;I'll work on trying to repro the exception from the sentences you pasted.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue303.aspx</link><pubDate>Tue, 09 Jun 2009 17:44:31 GMT</pubDate></item><item><title>Issue #306 (Released): Microsoft Bluetooth Stack Detection Improved</title><description>&lt;b&gt;Tuesday, June 09, 2009 at 6:22:12 PM by Jon Person&lt;/b&gt;&lt;p&gt;The code used to detect whether the Microsoft Bluetooth stack was installed was reporting a false negative in some devices.&amp;nbsp;&amp;nbsp;As a result, Bluetooth features were disabled when they could have functioned.&amp;nbsp;&amp;nbsp;The Devices.IsBluetoothSupported property has been rewritten with a more reliable detection method.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue306.aspx</link><pubDate>Tue, 09 Jun 2009 18:22:12 GMT</pubDate></item><item><title>Issue #305 (Released): Baud Rate Detection Improved</title><description>&lt;b&gt;Tuesday, June 09, 2009 at 1:03:22 PM by Jon Person&lt;/b&gt;&lt;p&gt;A customer reported issues regardin the &amp;quot;TDS Nomad,&amp;quot; a rugged portable device.&amp;nbsp;&amp;nbsp;Specifically, the GPS.NET 3.0 diagnostics utility appeared to hang during detection.&amp;nbsp;&amp;nbsp;They shipped us a device and we're able to use it to find and improve baud rate detection.&lt;br /&gt;&lt;br /&gt;The TDS Nomad is an excellent test device because it uses a non-standard baud rate (9600).&amp;nbsp;&amp;nbsp;As it turns out, there were two issues:&lt;br /&gt;&lt;br /&gt;1) The detection process was not strict enough when looking for valid NMEA data.&amp;nbsp;&amp;nbsp;As a result, the test would end prematurely at one-higher baud rate than it should have.&amp;nbsp;&amp;nbsp;This is now fixed.&lt;br /&gt;2) The baud rate, once discovered, was not being properly saved to the Device object or the registry.&amp;nbsp;&amp;nbsp;This is also fixed, which will significantly improve connectivity and connectivity times after initial detection.&lt;br /&gt;&lt;br /&gt;One issue remains: the TDS Nomad seems to hang during a call to ReadFile, yet simply pausing and resuming the debugger resolves the issue.&amp;nbsp;&amp;nbsp;I have more to research, but it's possible this device may have subtle interaction with the UI.&amp;nbsp;&amp;nbsp;This is insane, yet we saw it before with the HP 6515 years ago (whose driver launched a splash screen.&amp;nbsp;&amp;nbsp;Lame, right?)&amp;nbsp;&amp;nbsp; I'll have more soon, but this improvement, when released, will significantly improve detection.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, June 09, 2009 at 5:37:12 PM by Jon Person&lt;/b&gt;&lt;p&gt;The additional issue was nothing.&amp;nbsp;&amp;nbsp;The device had the &amp;quot;$GPRMC&amp;quot; sentence turned off.&amp;nbsp;&amp;nbsp;A release will now be posted with these improvements to baud rate detection, which will improve detection for many devices.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue305.aspx</link><pubDate>Tue, 09 Jun 2009 17:37:12 GMT</pubDate></item><item><title>Issue #304 (Open): When i try to get the zoom level from a pic extent, i get 16, but then the tileset generator generates from 13.</title><description>&lt;b&gt;Tuesday, June 09, 2009 at 11:49:31 AM by Phil Marks&lt;/b&gt;&lt;p&gt;Want to be able to determine the highest zoom level of a document, before i generate it. I have sent an email to GF tech support with code and screen shots.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue304.aspx</link><pubDate>Tue, 09 Jun 2009 11:49:31 GMT</pubDate></item><item><title>Issue #213 (Behavior Is By Design): GPS.NET 3.0 Official Feature Request Thread</title><description>&lt;b&gt;Monday, December 08, 2008 at 5:13:44 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi everyone.&amp;nbsp;&amp;nbsp;Development for GPS.NET 3.0 has been underway for about a week now, and so far I'm excited to see the progress already being made.&amp;nbsp;&amp;nbsp;For example, the device detection for Bluetooth has been sped up significantly, and can communicate directly with BT devices if you have the Microsoft stack installed.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Currently, my primary goals for GPS.NET 3.0 are listed below, but I very much welcome your feedback.&amp;nbsp;&amp;nbsp;What do you want to see?&lt;br /&gt;&lt;br /&gt;1) Greatly reduced CPU use during normal operations.&lt;br /&gt;&lt;br /&gt;... this has been a common topic for feedback.&amp;nbsp;&amp;nbsp;The 2.0 engine did a lot of &amp;quot;hand-holding&amp;quot; to make programming easier for novice developers.&amp;nbsp;&amp;nbsp;For example, we got a little tired of explaining why &amp;quot;Invoke&amp;quot; was necessary to make sure a TextBox is updated from a Form's own thread, so we decided to make the engine call &amp;quot;Invoke&amp;quot; when necessary.&amp;nbsp;&amp;nbsp;This made life easier for novices, but added some significant overhead to the engine.&lt;br /&gt;&lt;br /&gt;The 3.0 engine removes this automatic thread marshalling feature completely.&amp;nbsp;&amp;nbsp;This makes the component more efficient, but it also helps to eliminate the dependency on Windows Forms, thus opening the door up for pure WPF applications.&lt;br /&gt;&lt;br /&gt;2)&amp;nbsp;&amp;nbsp;Better baud rate detection&lt;br /&gt;&lt;br /&gt;Developers often asked for ways to speed up device detection.&amp;nbsp;&amp;nbsp;A lot of the slowdown would happen when trying to determine the correct baud rate for a particular port.&amp;nbsp;&amp;nbsp;I have improvements started for this, but need to get more devices out of storage to finish up the routine.&amp;nbsp;&amp;nbsp;If it works, however, it will perform baud rate detection in about 10% of the time as before.&lt;br /&gt;&lt;br /&gt;3) Improved support for Bluetooth&lt;br /&gt;&lt;br /&gt;Bluetooth is a very popular communication technology for GPS because it lets the device be wireless, plus it also makes life easier for developers by letting them use a GPS device from either their desktop or mobile computers.&amp;nbsp;&amp;nbsp;Support for Bluetooth in GPS2 was lacking in some regards.&amp;nbsp;&amp;nbsp;For example, it required that devices be &amp;quot;paired&amp;quot; in order to create a virtual serial port.&amp;nbsp;&amp;nbsp;For 3.0, I've completely rewritten the Bluetooth communication library to be slimmed down and faster, and so far it's working.&amp;nbsp;&amp;nbsp;I'm thankful that the Microsoft Bluetooth stack is growing in popularity, because MS is the only provider with an API that can be P/Invoked easily.&amp;nbsp;&amp;nbsp;Other providers such as Broadcom would require an unmanaged interop DLL, which would be very messy and confusing to implement.&lt;br /&gt;&lt;br /&gt;4) Support for automatic coordinate conversion&lt;br /&gt;&lt;br /&gt;Phil Smith's excellent work on &amp;quot;Geodesy.NET&amp;quot; finally provides full coordinate conversion support for our products.&amp;nbsp;&amp;nbsp;GPS.NET 3.0 will include a property which, when set, will automatically convert incoming WGS84 coordinates to another coordinate system.&amp;nbsp;&amp;nbsp;This will finally streamline support for our international friends.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;5) Better support for custom NMEA sentences&lt;br /&gt;&lt;br /&gt;The architecture for GPS.NET 3.0 has already been rewritten to use interfaces as a way to &amp;quot;build&amp;quot; NMEA sentences.&amp;nbsp;&amp;nbsp;Interfaces such as &amp;quot;IPositionSentence&amp;quot; would be implemented if a sentence contains latitude/longitude data, for example.&amp;nbsp;&amp;nbsp;With this approach, developers will very easily be able to create custom sentences, and add support for proprietary sentences transmitted by a handful of devices.&lt;br /&gt;&lt;br /&gt;6) Improved/managed serial port code&lt;br /&gt;&lt;br /&gt;After a lot of thought and review, I reluctantly decided to make GPS.NET 3.0 use .NET's own &amp;quot;SerialPort&amp;quot; class.&amp;nbsp;&amp;nbsp;I originally avoided this class in order to have finer control over serial port behavior, but after a lot of testing I believe that the managed SerialPort will be suitable.&amp;nbsp;&amp;nbsp;This approach will also help GPS.NET to be ported to Linux and Apple systems via the Mono project.&amp;nbsp;&amp;nbsp;In other words, if I can make GPS.NET 100% managed, then it could work on more platforms.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;7) Better GPS User controls&lt;br /&gt;&lt;br /&gt;During the development of GIS.NET 3.0 I learned a ton about optimization, particularly in regards to graphics.&amp;nbsp;&amp;nbsp;The original &amp;quot;DoubleBufferedControl&amp;quot; was fast, but a new class will be written which uses the advances learned in GIS3.&amp;nbsp;&amp;nbsp;I expect about 40% improved framerates for animation on the desktop; mobile devices will probably be sped up as well due to a *reduction* in multithreading.&amp;nbsp;&amp;nbsp;(Thread context switching on mobile devices is very expensive!)&amp;nbsp;&amp;nbsp; Plans are also now in the works for a &amp;quot;Radar&amp;quot; gauge control which will let developers plot simple icons relative to the current GPS location.&lt;br /&gt;&lt;br /&gt;8) Better GPSID support&lt;br /&gt;&lt;br /&gt;When GPS.NET 2.3 was out, there weren't many flavors of the GPS Intermediate Driver.&amp;nbsp;&amp;nbsp;However, with the introduction of the QualComm GPS chip, found in HTC and AT&amp;amp;T devices, people started writing proprietary drivers.&amp;nbsp;&amp;nbsp;Not only that, but these drivers used a completely different registry structure than the standard GPSID structure.&amp;nbsp;&amp;nbsp;This let to big problems, such as essentially breaking the GPSID on some devices.&amp;nbsp;&amp;nbsp;I want to conduct a thorough analysis of various GPSID registry structures now for GPS3 to see just how good we can streamline the support.&amp;nbsp;&amp;nbsp; For this, I'm going to need the registry dumps from several developers.&amp;nbsp;&amp;nbsp;I'll start another thread for that.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, December 09, 2008 at 4:36:52 AM by Alan Walters&lt;/b&gt;&lt;p&gt;For the most part the GPS.NET 2.x has worked very well for our clients. The primary issue that I have encountered while using GPS.NET 2.x is the bluetooth connectivity. We are using Panasonic Toughbooks (CF18) that when the Bluetooth connection is lost for more than a few minutes the user must manually reconnect with the device - even though in the settings it has the &amp;quot;Auto Connect&amp;quot; turned on. Most other computers we have used do not have this problem. So if it can reconnect to a bluetooth device without having to be &amp;quot;re-paired&amp;quot; would be a major improvement for us.&amp;nbsp;&amp;nbsp; Alan&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, December 11, 2008 at 2:56:54 PM by Alan Walters&lt;/b&gt;&lt;p&gt;The other request I would like to make (assuming it won't already do so) is that it can run as a service. With our app the want to track the vehicle even if no one is logged on.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, December 11, 2008 at 8:25:51 PM by  &lt;/b&gt;&lt;p&gt;GPS.NET 2.x has worked brilliantly for us. (Mostly PDA use)&amp;nbsp;&amp;nbsp;The only devices that gave us minor issues were the HP units like the 'Travel Companion (WM5)' and the older iPaqs with PPC2003 - even with Bluetooth disabled they would give a Bluetooth error or start the Bluetooth Detection for no good reason (eg When GPSID is configured to use the internal GPS)&lt;br /&gt;&lt;br /&gt;Looking forward to auto coordinate conversion and general optimizations.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, January 31, 2009 at 1:55:51 PM by Peter Simpson&lt;/b&gt;&lt;p&gt;For GPS.NET 3.x I would offer the following feedback:&lt;br /&gt;&amp;nbsp;&amp;nbsp;1. Change the Project and DLL names from &amp;quot;GeoFramework.PocketPC.*&amp;quot; to &amp;quot;GeoFrameworks.Mobile.*&amp;quot; since these days PocketPC is old school from 2003.&lt;br /&gt;Is it GeoFramework or GeoFrameworks with &amp;quot;s&amp;quot;?&lt;br /&gt;&amp;nbsp;&amp;nbsp;2. What is the 3.x solution for no GPS fix returning 0,0 somewhere in Africa?&amp;nbsp;&amp;nbsp;I talked with David L. in Seattle about this and he thought instead of returning NULL,NULL that you could return the max values.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 12, 2009 at 5:02:23 AM by David Hanley&lt;/b&gt;&lt;p&gt;Couple of comments:&lt;br /&gt;&lt;br /&gt;1. Enhance documentation to include more examples would be very helpful.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 12, 2009 at 5:03:47 AM by David Hanley&lt;/b&gt;&lt;p&gt;Maintain backward compatibility wherever possible i.e. code written for 2.3 can still compile with 3.0 libraries (I am sure you will).&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 19, 2009 at 4:28:26 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Peter, GPS3 will be returning a value of NULL.&amp;nbsp;&amp;nbsp;The non-null (0&amp;#176;,0&amp;#176;) value of GPS2 cuased problems with developers because that could be a valid value.&amp;nbsp;&amp;nbsp;A null value will be more explicit that, truly, no information is available.&amp;nbsp;&amp;nbsp;Unfortunately, I believe a maximum value would cause the same problems that 0,0 did.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 19, 2009 at 4:30:41 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi David, yes we'll be maintaining backwards compatibility.&amp;nbsp;&amp;nbsp;With GPS3 80% complete now, there are only minor changes:&lt;br /&gt;&lt;br /&gt;1) NMEA sentences are designed to implement interfaces in order to better support custom sentences.&lt;br /&gt;2) Generic collections such as List&amp;lt;Satellite&amp;gt; are used instead of ArrayList&amp;nbsp;&amp;nbsp;(now that we don't need to support VS2003)&lt;br /&gt;3) Bluetooth classes are streamlined.&lt;br /&gt;4) GPS3 will use GeoFramework 2.0, the same library used by GIS.NET 3.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, April 06, 2009 at 9:20:37 AM by Jon Person&lt;/b&gt;&lt;p&gt;GPS.NET 3.0 is nearly complete.&amp;nbsp;&amp;nbsp;Backwards compatibility looks very good right now.&amp;nbsp;&amp;nbsp;Core classes such as Interpreter, DilutionOfPRecision, SignalToNoiseRatio are largely unchanged.&amp;nbsp;&amp;nbsp;The static &amp;quot;Devices&amp;quot; class is moving to the GeoFramework.Gps namespace to make it more visible, and a new &amp;quot;GeoFramework.Gps.Devices&amp;quot; namespace exists to organize new objects such as SerialDevice, NetworkDevice, BluetoothDevice, and others.&amp;nbsp;&amp;nbsp;I'll be sure to include specific upgrade messages so they'll show up in the compiler and tell you exactly how to make the adjustment in code.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue213.aspx</link><pubDate>Mon, 06 Apr 2009 09:20:37 GMT</pubDate></item><item><title>Issue #295 (Behavior Is By Design): Failed to create component 'DoubleBufferedControl' - Error while adding control from within IDE</title><description>&lt;b&gt;Monday, June 01, 2009 at 4:40:55 PM by Corey Smith&lt;/b&gt;&lt;p&gt;1) Created Smart Device Project, CF3.5, Targeting WM6&lt;br /&gt;2) Added NMEAIntrepreter from toolbox&lt;br /&gt;3) Added DoubleBufferedControl from toolbox&lt;br /&gt;Immediately after dropping DoubleBufferredControl on to form, I got the following error from the Visual Studio IDE:&lt;br /&gt;&lt;br /&gt;Microsoft Visual Studio Failed to create component 'DoubleBufferedControl'. The error message follows:&lt;br /&gt;'System.MissingMethodException: Cannot create an abstract class.&lt;br /&gt;at System.RuntimeTypeHandle.Createlnstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean&amp;amp; canBeCached, RuntimelviethodHandle&amp;amp; ctor, Boolean&amp;amp; bNeedSecurityC heck)&lt;br /&gt;at S.estem.RuntimeType.CreatelnstanceSlow(Boolean publicOnly, Boolean fillCache)&lt;br /&gt;at S.estem.RuntimeType.CreatelnstancpJmpi(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)&lt;br /&gt;at System.Activator.Createlnstance(Type type, Boolean nonpublic)&lt;br /&gt;at System.RuntimeType.Createlnstancelmpl(BindingFIags bindingAttr, Binder binder, Object[) args, Culturelnfo culture, Object[)&lt;br /&gt;activationAttributes)&lt;br /&gt;at System.Activator.Createlnstance(Type type, BindingFlags bindingAttr, Binder binder, Object[) args, Cultureinfo culture, Object[) activationAttributes)&lt;br /&gt;at&lt;br /&gt;System.ComponentModel.Design.DesignSurface.Createinstance(Type type)&lt;br /&gt;at&lt;br /&gt;Microsoft.VisualStudio.Design.VSDesignSurface.Createinstance(Type type)&lt;br /&gt;at System.ComponentModel.Design.Designer...'&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 01, 2009 at 4:42:39 PM by Corey Smith&lt;/b&gt;&lt;p&gt;I don't even know what the DoubleBufferedControl is used for, so I could be not using it as it was intended, but I'm sure you'd like to handle the error in your code, so I thought I'd report it.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 08, 2009 at 12:55:09 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm, the DoubleBufferedControl is an abstract class, so it shouldn't even be showing up in the toolbox.&amp;nbsp;&amp;nbsp;It's also part of the older GPS.NET 2.0 framework.&amp;nbsp;&amp;nbsp;I wonder if you have the older framework installed?&lt;br /&gt;&lt;br /&gt;It's also possible that this class exists because of the &amp;quot;Upgrade&amp;quot; class.&amp;nbsp;&amp;nbsp;I bet that's the problem.&amp;nbsp;&amp;nbsp;For a time this class was part of the regular GPS3 assembly, but it ended up causing confusion because beta testers thought the classes were real, not just shims to help with upgrading. &lt;br /&gt;&lt;br /&gt;Now that that's been moved to a separate assembly, this problem should now be resolved.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue295.aspx</link><pubDate>Mon, 08 Jun 2009 12:55:09 GMT</pubDate></item><item><title>Issue #297 (Released): In Compact Framework GPS.net 3 Beta, I get "A user break has occured in..."</title><description>&lt;b&gt;Monday, June 01, 2009 at 7:30:49 PM by Corey Smith&lt;/b&gt;&lt;p&gt;Stacktrace is:&lt;br /&gt;at Debugger.Break&lt;br /&gt;at SerialDevice.Reset&lt;br /&gt;at Interpreter.ParsingThreadProc&lt;br /&gt;&lt;br /&gt;I have a feeling that a 'Debugger.Break' may have accidentially been left in the GPS.net 3 Beta source code....&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, June 08, 2009 at 12:48:28 PM by Jon Person&lt;/b&gt;&lt;p&gt;Sure enough, a Break statement existed in SerialDevice.Reset.&amp;nbsp;&amp;nbsp;Some &amp;quot;to-do&amp;quot; code was present, but is now cleaned up.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue297.aspx</link><pubDate>Mon, 08 Jun 2009 12:48:28 GMT</pubDate></item><item><title>Issue #275 (Released): Line.Search should check for line intersection on the Compact Framework</title><description>&lt;b&gt;Sunday, May 03, 2009 at 9:31:08 AM by Jon Person&lt;/b&gt;&lt;p&gt;On the Compact Framework, the Search method of the Line class will return the line object if its *extent* contains the point.&amp;nbsp;&amp;nbsp;This should be changed to be more specific; the object should be returned only if the point rests on the line.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, June 05, 2009 at 1:58:54 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Intersection hit testing is now based on a pixel radius rather than an extent intersection. The MouseClickRadius property can be set to increase or decrease precision for cllick and mouse movement events.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue275.aspx</link><pubDate>Fri, 05 Jun 2009 13:58:54 GMT</pubDate></item><item><title>Issue #300 (Postponed for Later): Streamline background searching behavior in the Map control</title><description>&lt;b&gt;Friday, June 05, 2009 at 1:46:25 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Object mouse event detection in the Map control requires a deep search, which is enabled by default regardless of whether or not corresponding events are even wired. There's no fast way to check whether or not individual objects have events wired, thus validating the need for a search in the first place. This is remedied by the AllowObjectMouseEvents property on the map control. But again, it's set to true by default. A quick solution would be to enable the background searching based on the Map controls ItemMouse_____ events. Individual events are still not considered in this case, which seems to me a separate behavior pattern which may or may not be inclusive of the Map all inclusive event. &lt;br /&gt;&lt;br /&gt;Investigating this situation has led to some basic search behavior inconsistancies which would require some signifigant object model changes that probably better suited for a major version change.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue300.aspx</link><pubDate>Fri, 05 Jun 2009 13:46:25 GMT</pubDate></item><item><title>Issue #298 (Released): Exception During Design-Time: Code generation for property 'writetimeout' failed...</title><description>&lt;b&gt;Tuesday, June 02, 2009 at 8:24:09 PM by Corey Smith&lt;/b&gt;&lt;p&gt;Every few minutes (while I am switching between code and the designer) an error pops up in Visual Studio; this is not while I am running my code, this is a design-time exception.&amp;nbsp;&amp;nbsp;The error is: &amp;quot;Code generation for property 'WriteTimeout' failed.&amp;nbsp;&amp;nbsp;Error was: 'Property accessor 'WriteTimeout' on object 'NmeaIntrepreter1' threw the following exception: 'Specified method is not supported.'' &amp;quot;&lt;br /&gt;&lt;br /&gt;Then, when I click OK, I have a warning in my Error List which is: &amp;quot;'Public Property BaseStream() As Object' is obsolete: 'GPS.NET 3.0 uses 'Device' objects instead of 'Stream' objects in order to more easily recover from lost connections.&amp;nbsp;&amp;nbsp;Use the 'Start(Device)' method with a device class such as 'SerialDevice' or 'BluetoothDevice'.'.&amp;quot;&lt;br /&gt;&lt;br /&gt;When I doulble click that warning, it takes me to the IDE-generated designer code for my form.&amp;nbsp;&amp;nbsp;There is a line of code that is trying to set the BaseStream of NmeaInterpreter1, but that is not supported in v3.&amp;nbsp;&amp;nbsp;So, I delete that line and everything is fine until a minute later, this all happens again.&lt;br /&gt;&lt;br /&gt;It seems that something is automatically generating code that is obselete.&amp;nbsp;&amp;nbsp;It is quite a hassle to deal with constantly.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, June 03, 2009 at 8:31:19 AM by Jon Person&lt;/b&gt;&lt;p&gt;Ahh right.&amp;nbsp;&amp;nbsp;The Obsolete members got put in, but then did not have a DesignerSerialization attribute also added.&amp;nbsp;&amp;nbsp;Now that the Obsolete members have moved to a separate assembly, I'll remove these members.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, June 03, 2009 at 10:07:00 AM by Jon Person&lt;/b&gt;&lt;p&gt;All &amp;quot;Obsolete&amp;quot; attributes have been removed from the production assemblies.&amp;nbsp;&amp;nbsp;Also, new &amp;quot;upgrade helper&amp;quot; assemblies have been added to the installers.&amp;nbsp;&amp;nbsp;These assemblies, with names such as &amp;quot;GeoFramework.Gis.UpgradeFromVersion2&amp;quot; house all Obsolete attributes.&amp;nbsp;&amp;nbsp;They are designed to be referenced by developers who need to upgrade from version 2.0 to 3.0.&amp;nbsp;&amp;nbsp; The assembly reference is then shed once the transition is complete.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue298.aspx</link><pubDate>Wed, 03 Jun 2009 10:07:00 GMT</pubDate></item><item><title>Issue #284 (Released): Windows 7: Suspend or Hibernate Disables Bluetooth</title><description>&lt;b&gt;Monday, May 11, 2009 at 9:02:13 AM by Jon Person&lt;/b&gt;&lt;p&gt;This is not a bug with GPS.NET but in Windows and it affects GPS software developers. On the Windows 7 beta (build 7022 and 7000), the Microsoft Bluetooth stack will cease to function if the computer is suspended or placed into Hibernation.&amp;nbsp;&amp;nbsp;The only solution is to reboot the machine.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 11, 2009 at 9:02:35 AM by Jon Person&lt;/b&gt;&lt;p&gt;Beta feedback was sent to Microsoft advising them to restart the BT stack upon a resume.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, June 03, 2009 at 10:04:46 AM by Jon Person&lt;/b&gt;&lt;p&gt;This appears to be fixed as of Windows 7 Release Candidate 1.&amp;nbsp;&amp;nbsp; By the way, you can download the RC for free from Microsoft as a 32-bit or 64-bit ISO: http://www.microsoft.com/Windows/windows-7/download.aspx.&amp;nbsp;&amp;nbsp;The downloader includes a utility to burn the ISO to a DVD.&amp;nbsp;&amp;nbsp;We've had great success with Windows 7; I would recommend anyone running Vista consider upgrading to the RC.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue284.aspx</link><pubDate>Wed, 03 Jun 2009 10:04:46 GMT</pubDate></item><item><title>Issue #276 (Released): Objects are sometimes selected which are not inside of the selection polygon</title><description>&lt;b&gt;Monday, May 04, 2009 at 9:55:01 AM by Jon Person&lt;/b&gt;&lt;p&gt;When searching for objects based on a selection polygon, objects are sometimes selected which lay outside of the selection polygon.&amp;nbsp;&amp;nbsp;This can be seen in the Desktop Framework example for selecting by objects.&amp;nbsp;&amp;nbsp;The example shows the state of Florida with counties.&amp;nbsp;&amp;nbsp;Selecting a county sometimes selects cities not within the county.&amp;nbsp;&amp;nbsp;It almost appears that objects are being selected which are within the *extent* of the county rather than the polygon of the county itself.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 04, 2009 at 10:59:42 AM by Jon Person&lt;/b&gt;&lt;p&gt;This appears to be a problem with the GDI+ GraphicsPath object.&amp;nbsp;&amp;nbsp;It is not testing points with the appropriate precision.&amp;nbsp;&amp;nbsp;I think we should replace this with our PolyMath routines.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, May 31, 2009 at 2:57:36 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The issue is that the GDI+ objects use convex hull algorithms to evaluate polygon boundries. Geospacial geometry is rarely convex, so more accurate algorithms are needed to calculate boundary intersections for searching and selection.&lt;br /&gt;&lt;br /&gt;Added a static property to the GeographicPath class, &amp;quot;GeographicPath.BoundaryTestBias&amp;quot;. The GDI+ routines are fastest but can be inaccurate when comparing concave polygons. The bias can be set for speed or accuray. See the associated enum for details about the two settings.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue276.aspx</link><pubDate>Sun, 31 May 2009 14:57:36 GMT</pubDate></item><item><title>Issue #286 (Behavior Is By Design): Assistance With ESRI Projections</title><description>&lt;b&gt;Thursday, May 14, 2009 at 6:15:31 AM by Kyle Fischer&lt;/b&gt;&lt;p&gt;Display of ESRI data in version 2.0 was very good. Version 3.0 seems to misrepresent the data.&amp;nbsp;&amp;nbsp;I am seeing ESRI lines that are squiggly where they should be straight.&amp;nbsp;&amp;nbsp;In version 2, no matter what projection I used, the ESRI data came out perfectly.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, May 17, 2009 at 1:40:46 PM by Phil Smith&lt;/b&gt;&lt;p&gt;A screenshot would be helpful to illustrate what you are talking about. You can email it to support@geoframeworks.com. You might want to attach the shapefile as well. What projection were you using in 2.0? There were only 2 other types besides the default Plate Caree'.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, May 28, 2009 at 12:55:18 PM by Kyle Fischer&lt;/b&gt;&lt;p&gt;The version 2.0 projection was LambertConformalConic.&amp;nbsp;&amp;nbsp;In version 3.0 I was using the default Mercator projection.&amp;nbsp;&amp;nbsp;I changed the projection to a TransverseMercator projection and the display irregularities seemed to go away&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue286.aspx</link><pubDate>Thu, 28 May 2009 12:55:18 GMT</pubDate></item><item><title>Issue #294 (Released): Upgrade Assistance from GPS.NET 2.0 to 3.0</title><description>&lt;b&gt;Tuesday, May 26, 2009 at 6:35:23 PM by Jon Person&lt;/b&gt;&lt;p&gt;In order to ease the transition from GPS.NET 2.0 to 3.0, &amp;quot;Obsolete&amp;quot; attributes have been added.&amp;nbsp;&amp;nbsp;The idea here is that most developers will swap out their project references from 2.0 to 3.0 then build their solution to see what needs to be done.&lt;br /&gt;&lt;br /&gt;With these attributes in, developers can examine compiler warnings for specific, detailed instructions on how to change code to its 3.0 equivalent.&amp;nbsp;&amp;nbsp;For this process to work best, developers should temporarily hide compiler errors and instead show only warnings.&amp;nbsp;&amp;nbsp; This will produce a clean to-do list of upgrade steps, and most if not all errors will be resolved when warnings are addressed.&lt;br /&gt;&lt;br /&gt;We'll keep these attributes in the 3.0 libraries for several months.&amp;nbsp;&amp;nbsp;Since they increase the size of assemblies, however, we'll eventually post a notice here and remove upgrade attributes.&amp;nbsp;&amp;nbsp;We may do this sooner once a vast majority of developers upgrade to 3.0.&lt;br /&gt;&lt;br /&gt;NOTE: Some work is still necessary for the GPS controls.&amp;nbsp;&amp;nbsp;I'll have that wrapped up by the end of the week.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, May 26, 2009 at 6:50:23 PM by Jon Person&lt;/b&gt;&lt;p&gt;Also, a 40% discount has been applied to all GPS.NET 2.0 licensees.&amp;nbsp;&amp;nbsp;People who have tried the beta and are ready to upgrade may do so online now.&amp;nbsp;&amp;nbsp; Once you sign into your account, the discount will automatically be applied when you add GPS.NET 3.0 to your cart.&lt;br /&gt;&lt;br /&gt;You can sign into your account using this link: https://secure.geoframeworks.com/Secured/Default.aspx.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue294.aspx</link><pubDate>Tue, 26 May 2009 18:50:23 GMT</pubDate></item><item><title>Issue #293 (Released): GPS 3 Beta - for Pocket PC (Compact Framework) - Can't start NMEAInterpreter - Get 'does not support invoking delegates asynchronously'</title><description>&lt;b&gt;Monday, May 25, 2009 at 8:08:44 AM by Corey Smith&lt;/b&gt;&lt;p&gt;Can't start NMEAInterpreter - Get 'does not support invoking delegates asynchronously'&lt;br /&gt;&lt;br /&gt;System.NotSupportedException&lt;br /&gt;&lt;br /&gt;&amp;quot;.NET Compact Framework does not support invoking delegates asynchronously.&amp;quot;&lt;br /&gt;&lt;br /&gt;StackTrace:&lt;br /&gt;&amp;quot;&amp;nbsp;&amp;nbsp; at GeoFramework.Gps.Nmea.NmeaInterpreter.OnReadPacket()\r\n&amp;nbsp;&amp;nbsp; at GeoFramework.Gps.Interpreter.ParsingThreadProc()\r\n&amp;quot;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 25, 2009 at 8:09:38 AM by Corey Smith&lt;/b&gt;&lt;p&gt;This is in VS 2008, CF 3.5, Vista Enterprise x64, WM6&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 25, 2009 at 11:15:12 AM by Phil Smith&lt;/b&gt;&lt;p&gt;Fixed.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 25, 2009 at 9:53:57 PM by Corey Smith&lt;/b&gt;&lt;p&gt;I was already extremely impressed with you GPS.NET product, and that was a fast fix!&amp;nbsp;&amp;nbsp;You guys are great!&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue293.aspx</link><pubDate>Mon, 25 May 2009 21:53:57 GMT</pubDate></item><item><title>Issue #292 (Released): Licensing Problem in GPS.NET 3.0 Beta</title><description>&lt;b&gt;Wednesday, May 20, 2009 at 4:12:00 PM by Jon Person&lt;/b&gt;&lt;p&gt;In the beta of GPS.NET 3.0, production license keys failed to work, causing an error for the assembly &amp;quot;GeoFramework.Drawing.&amp;quot;&amp;nbsp;&amp;nbsp; The key itself was valid.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, May 20, 2009 at 4:12:47 PM by Jon Person&lt;/b&gt;&lt;p&gt;Licensing behavior had to be adjusted recently to support &amp;quot;dependency licenses.&amp;quot;&amp;nbsp;&amp;nbsp;That is, where one license key works on multiple assemblies.&amp;nbsp;&amp;nbsp;The GPS3 license had not been coded properly to include the GeoFramework.Drawing assembly.&amp;nbsp;&amp;nbsp;This is now resolved, and production licensing behavior now precisely matches trial licensing for dependencies.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue292.aspx</link><pubDate>Wed, 20 May 2009 16:12:47 GMT</pubDate></item><item><title>Issue #291 (Released): #287: Geoframework.Projections.Common.UTM() Handling of South-Oriented Coordinates</title><description>&lt;b&gt;Wednesday, May 20, 2009 at 11:50:42 AM by Gilson J do Nascimento&lt;/b&gt;&lt;p&gt;Regarding issue: #287.&lt;br /&gt;&lt;br /&gt;I have tried to use the Common.UTM(bool southOriented, int zoneNumber, Ellipsoid ellipsoid) overload. Tried using both values &amp;quot;true&amp;quot; and &amp;quot;false&amp;quot; for southOriented. Results are the same regardless of this boolean value: {90&amp;#176;00'00,0000&amp;quot;S;045&amp;#176;00'00,0000&amp;quot;W}.&lt;br /&gt;&lt;br /&gt;Used some other tools to validate results, for example:&lt;br /&gt;http://www.apsalin.com/convert-universal-transverse-mercator-to-geodetic.aspx&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, May 20, 2009 at 2:44:59 PM by Phil Smith&lt;/b&gt;&lt;p&gt;There is a indeed a problem in the Geoframework.Projections.Common.UTM() methods in how coordinates are interpreted. Firstly, the handling of south oriented corrdinates was incorrect. Beyond that, the interpretation of coordinates was inconsitent with UTM, thus the Tranverse Mercator projections returned from these methods was not a standard UTM projection. &lt;br /&gt;&lt;br /&gt;The behavior of the Common.UTM() methods has been changed so that the overloads that accept a UTM Zone Letter or Zone Number as a parameter return a standard UTM projection, while overloads that accept a latitude and longitude parameter return a non-standard UTM projection, which is only suitable for displaying single UTM zones on the GIS 3 Map control.&lt;br /&gt;&lt;br /&gt;And finally, the handling of south oriented coordinates in the standard UTM() overloads has been corrected.&lt;br /&gt;&lt;br /&gt;Note that this issue affected projections returned from the Common.UTM() methods only. UTM projections obtained from the GeoFramework.Geodesy.CoordinateReferenceSystems namespace were unaffected.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue291.aspx</link><pubDate>Wed, 20 May 2009 14:44:59 GMT</pubDate></item><item><title>Issue #290 (Released): Make the Map.Selection animation optional</title><description>&lt;b&gt;Tuesday, May 19, 2009 at 3:36:20 PM by Ryan Dotson&lt;/b&gt;&lt;p&gt;The selection animation is often useful, but we are finding some cases where it is undesired.&amp;nbsp;&amp;nbsp;In Remote Desktop sessions for example, it results in poor performance due to the constant updates.&amp;nbsp;&amp;nbsp;Also, a few of the machines that run our application are server-class computers but have really poor video cards.&amp;nbsp;&amp;nbsp;The .Net rendering appears to have no hardware acceleration, and it uses up signficant CPU resources (&amp;gt; 30%, if the selection occupies a large area of the screen).&lt;br /&gt;&lt;br /&gt;Is is possible to make the animation optional to control this behavior?&lt;br /&gt;&lt;br /&gt;I realize I could work out my own selection system, but this seems like it could be solved simply within the existing framework.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, May 19, 2009 at 3:58:01 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Ryan, we can add a boolean property such as IsAnimated to the Selection class.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, May 19, 2009 at 4:11:39 PM by Jon Person&lt;/b&gt;&lt;p&gt;The property has been added to the Selection object.&amp;nbsp;&amp;nbsp;Let me know if you want to revisit this later.&amp;nbsp;&amp;nbsp;I may add an additional property such as &amp;quot;AnimationInterval&amp;quot;.&amp;nbsp;&amp;nbsp;The current hard-coded interval is 50ms; changing that to something like 250ms even should significantly reduce CPU use.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue290.aspx</link><pubDate>Tue, 19 May 2009 16:11:39 GMT</pubDate></item><item><title>Issue #289 (Released): Provide the ability to convert to UTM and MGRS representations</title><description>&lt;b&gt;Saturday, May 16, 2009 at 8:29:58 PM by Phil Smith&lt;/b&gt;&lt;p&gt;UTM representation of positions was overlooked with the addition of Geodesy.Net. This oversight has been corrected along with the ability to conver coordinates to the Military Grid Reference System (MGRS). Two new structures in the GeoFramework.Geodesy namespace, UniversalTransverseMercatorCoordinate and MilitaryGridReferenceSystemCoordinate have methods that can be used to convert Position objects to and from UTM and MGRS representation.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue289.aspx</link><pubDate>Sat, 16 May 2009 20:29:58 GMT</pubDate></item><item><title>Issue #287 (Behavior Is By Design): Apparently there is a problem with UTM convertion to Geodetic</title><description>&lt;b&gt;Friday, May 15, 2009 at 5:19:58 AM by Gilson J do Nascimento&lt;/b&gt;&lt;p&gt;**Converting from UTM to Geodetic**&lt;br /&gt;&lt;br /&gt;Based on the code below:&lt;br /&gt;&lt;br /&gt;Projection projection = Common.UTM(ZoneLetter.K , 23, Ellipsoid.Clarke1866);&lt;br /&gt;ProjectedCoordinate proj1 = new ProjectedCoordinate(682120.949, 7827079.605);&lt;br /&gt;Position posTrace = projection.ToPosition(proj1);&lt;br /&gt;&lt;br /&gt;Shouldn&amp;#180;t posTrace be {19&amp;#176;38'39,5128&amp;quot;S;43&amp;#176;15'47,0557&amp;quot;W} instead of {39&amp;#176;35'24,0073&amp;quot;S;042&amp;#176;52'44,9457&amp;quot;W} ?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, May 16, 2009 at 7:24:39 PM by Phil Smith&lt;/b&gt;&lt;p&gt;That particular UTM overload sets the projection center to to the center of zone 23K. I believe you are looking for the Common.UTM(bool southOriented, int zoneNumber, Ellipsoid ellipsoid) overload.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue287.aspx</link><pubDate>Sat, 16 May 2009 19:24:39 GMT</pubDate></item><item><title>Issue #269 (Postponed for Later): Add tileset objects for Google Maps and Virtual Earth</title><description>&lt;b&gt;Tuesday, April 14, 2009 at 11:18:40 AM by Jon Person&lt;/b&gt;&lt;p&gt;It's theoretically possible to write GIS.NET 3.0 objects which display Google Maps or Virtual Earth 2D tiles inside of a Map control.&amp;nbsp;&amp;nbsp;We already support their projections, so all that's necessary is a mechanism to calculate which tiles to request.&amp;nbsp;&amp;nbsp;Let's see if we can develop a formula for calculating tile requests and objects for these providers.&amp;nbsp;&amp;nbsp;There are some licensing implications for end-users since Google and Microsoft may have fee requirements, but since we're not providing the actual content, we're in the clear.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue269.aspx</link><pubDate>Tue, 14 Apr 2009 11:18:40 GMT</pubDate></item><item><title>Issue #92 (Postponed for Later): Add Support for WKB Files</title><description>&lt;b&gt;Monday, July 07, 2008 at 1:25:33 PM by Ted Macy&lt;/b&gt;&lt;p&gt;We store all of our data in Open GIS WKT and/or WKB format.&amp;nbsp;&amp;nbsp; I understand that writing a WKT parser can be timeconsuming, and that there are areas where the spec is ambiguous.&amp;nbsp;&amp;nbsp;However, WKB seems to be pretty straight forward.&amp;nbsp;&amp;nbsp; Can you consider adding the ability to generate a shape from WKB, and save a shape to WKB?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, July 07, 2008 at 1:31:30 PM by Jon Person&lt;/b&gt;&lt;p&gt;We can probably add that in, I'd like to get some feedback from others, and also see if you have a link or code you could send us to speed up the implementation process?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, July 07, 2008 at 6:11:53 PM by Ted Macy&lt;/b&gt;&lt;p&gt;I will provide a link to the OGC spec, and I will provide the code that I have used to read a wkb and generate a shape.&amp;nbsp;&amp;nbsp; I'm sure the shape generation is not efficient, but I think you'll find the WKB reader might be satisfactor for inclusion within a shape constructor or static shape factory.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue92.aspx</link><pubDate>Mon, 07 Jul 2008 18:11:53 GMT</pubDate></item><item><title>Issue #74 (Released): Support for 64-bit versions of Windows</title><description>&lt;b&gt;Wednesday, June 18, 2008 at 10:05:29 AM by Jon Person&lt;/b&gt;&lt;p&gt;Requests have arrived via email requesting support for 64-bit versions of Vista and XP.&amp;nbsp;&amp;nbsp;I'm very curious about this, especially if it would relax the memory limitations of the .NET Framework.&amp;nbsp;&amp;nbsp;For example, try loading a 1-gigabyte GeoTIFF in .NET using &amp;quot;Image.FromFile()&amp;quot; and it will fail.&amp;nbsp;&amp;nbsp;I think it's worth revving up 64-bit build/dev machines to at least see if it can handle it.&amp;nbsp;&amp;nbsp;Better memory limits alone to me would immediately justify 64-bit support for GIS3.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, June 18, 2008 at 10:39:37 AM by Jon Person&lt;/b&gt;&lt;p&gt;To my surprise, Dell isn't even offering systems which are 64-bit right now.&amp;nbsp;&amp;nbsp; But I'll find another provider&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, May 15, 2009 at 2:42:34 AM by Jon Person&lt;/b&gt;&lt;p&gt;This issue was resolved several months ago;&amp;nbsp;&amp;nbsp;our build server now generates cross-platform assemblies for all products.&amp;nbsp;&amp;nbsp;Both 32-bit and 64-bit systems are supported in the same DLL's.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue74.aspx</link><pubDate>Fri, 15 May 2009 02:42:34 GMT</pubDate></item><item><title>Issue #204 (Postponed for Later): Add Support for Spatial Indexing</title><description /><link>https://secure.geoframeworks.com/Secured/ViewIssue204.aspx</link><pubDate>Thu, 27 Nov 2008 14:26:46 GMT</pubDate></item><item><title>Issue #268 (Postponed for Later): Add Support for Buffering and Calculated Shapes</title><description>&lt;b&gt;Friday, April 10, 2009 at 11:22:28 AM by Phil Smith&lt;/b&gt;&lt;p&gt;We've gone back and forth on issues of perfeormance vs accuracy in the calculations employed by GIS.NET (boundary intersections, for example). I think the existing model is sound, but requests for things like creating geo buffers and other calculated shapes hint at a direction we have not specifically addressed. Additional suggestions are appreciatred.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue268.aspx</link><pubDate>Fri, 10 Apr 2009 11:22:28 GMT</pubDate></item><item><title>Issue #249 (Postponed for Later): Unable to load OS Mastermap GML file into tileset assistant to create tiles</title><description>&lt;b&gt;Friday, February 20, 2009 at 2:15:35 AM by  &lt;/b&gt;&lt;p&gt;When trying to import the original OS Mastermap gml file the following exception is thrown&lt;br /&gt;&lt;br /&gt;System.Xml.XmlException was unhandled&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;'Element' is an invalid XmlNodeType. Line 11, position 2.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Source=&amp;quot;System.Xml&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;LineNumber=11&lt;br /&gt;&amp;nbsp;&amp;nbsp;LinePosition=2&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Xml.XmlReader.ReadEndElement()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.GeographicRectangle.ReadXml(XmlReader reader)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.GeographicRectangle..ctor(XmlReader reader)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GmlFile.ReadHeader()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GmlFile..ctor(Stream stream, Type pointType, Type lineType, Type polygonType)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GmlFile..ctor(String filePath, Type pointType, Type lineType, Type polygonType)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GeographicDataSource.Open(String filePath, Type pointType, Type lineType, Type polygonType)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Tilesets.WizardForm.OnStepChanged() in C:\Program Files\GeoFrameworks\GIS.NET 3.0\Tileset Utility\C#\WizardForm.cs:line 136&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Tilesets.WizardForm.ShowStep(Panel panel) in C:\Program Files\GeoFrameworks\GIS.NET 3.0\Tileset Utility\C#\WizardForm.cs:line 66&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Tilesets.WizardForm.nextButton_Click(Object sender, EventArgs e) in C:\Program Files\GeoFrameworks\GIS.NET 3.0\Tileset Utility\C#\WizardForm.cs:line 214&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.OnClick(EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Button.OnClick(EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Button.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.Run(Form mainForm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Tilesets.Program.Main() in C:\Program Files\GeoFrameworks\GIS.NET 3.0\Tileset Utility\C#\Program.cs:line 17&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ThreadHelper.ThreadStart_Context(Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ThreadHelper.ThreadStart()&lt;br /&gt;&lt;br /&gt;After removing the line causing the issue from the gml file I am able to continue to the preview option. The preview option shows an empty map and when completed the tileset directory only has the tileset config xml file and no tiles.&lt;br /&gt;&lt;br /&gt;I then used a converter to conveert the OS mastermap gml file into a mapinfo file. When trying to load these files I recieved the following exception&lt;br /&gt;&lt;br /&gt;System.IndexOutOfRangeException was unhandled&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;Index was outside the bounds of the array.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Source=&amp;quot;GeoFramework.Shapes&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.MapInfoFileSummary..ctor(StreamReader reader)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.MapInfoFile.ReadHeader()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.MapInfoFile..ctor(Stream stream, Type pointType, Type lineType, Type polygonType, Encoding encoding, String textColumnName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.MapInfoFile..ctor(String filePath, Type pointType, Type lineType, Type polygonType, Encoding encoding, String textColumnName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.MapInfoFile..ctor(String filePath, Type pointType, Type lineType, Type polygonType)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GeographicDataSource.Open(String filePath, Type pointType, Type lineType, Type polygonType)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Tilesets.WizardForm.OnStepChanged() in C:\Program Files\GeoFrameworks\GIS.NET 3.0\Tileset Utility\C#\WizardForm.cs:line 136&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Tilesets.WizardForm.ShowStep(Panel panel) in C:\Program Files\GeoFrameworks\GIS.NET 3.0\Tileset Utility\C#\WizardForm.cs:line 66&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Tilesets.WizardForm.nextButton_Click(Object sender, EventArgs e) in C:\Program Files\GeoFrameworks\GIS.NET 3.0\Tileset Utility\C#\WizardForm.cs:line 214&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.OnClick(EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Button.OnClick(EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Button.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.Run(Form mainForm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Tilesets.Program.Main() in C:\Program Files\GeoFrameworks\GIS.NET 3.0\Tileset Utility\C#\Program.cs:line 17&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ThreadHelper.ThreadStart_Context(Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ThreadHelper.ThreadStart()&lt;br /&gt;&lt;br /&gt;The gml import file can be provided upon request along with the tileset config file which has been produced. Any help will be greatly appreciated.&lt;br /&gt;&lt;br /&gt;Thankyou.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, February 20, 2009 at 5:20:42 PM by Jon Person&lt;/b&gt;&lt;p&gt;I believe that the Mastermap format differs enough from GML to throw a monkey wrench into our reader.&amp;nbsp;&amp;nbsp;I would like to support this format, however, if it's at all possible since it's based upon GML.&amp;nbsp;&amp;nbsp; Would you be able to email me a GML file which causes this error?&amp;nbsp;&amp;nbsp; You can send it to me directly here: jperson@geoframeworks.com.&amp;nbsp;&amp;nbsp; Thanks for taking the time to report details of this issue.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, March 05, 2009 at 7:42:02 PM by Jon Person&lt;/b&gt;&lt;p&gt;We have the example MasterMap data file now, thank you.&amp;nbsp;&amp;nbsp;We'll need some time to analyze this file carefully to add support.&amp;nbsp;&amp;nbsp;Requests for OSM are more common so we'll likely work this into GML if it's at all possible.&amp;nbsp;&amp;nbsp;I'm marking this issue as Postponed since a firm deadline is unavailable, but we'll certainly be dedicating time to it.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue249.aspx</link><pubDate>Thu, 05 Mar 2009 19:42:02 GMT</pubDate></item><item><title>Issue #118 (Postponed for Later): Add decorations for drawing lines and polygons</title><description>&lt;b&gt;Wednesday, August 06, 2008 at 2:48:00 AM by Ted Macy&lt;/b&gt;&lt;p&gt;Your built-in selection mouse handling is very nice.&amp;nbsp;&amp;nbsp; You display excellent graphics and I don't want to replicate them.&amp;nbsp;&amp;nbsp;However, we also need the ability to draw line segments and line strings on the map.&amp;nbsp;&amp;nbsp;For my own immediate needs, if I could just get you to draw the selection object, w/o performing the selection search I would be happy (at least for a while :)).&amp;nbsp;&amp;nbsp; There are operations that I will need to perform once a line is drawn.&lt;br /&gt;&lt;br /&gt;In other packages that we are migrating from, there were two line drawing modes... line segment, where you click on a location, drag to another location, and release, giving you a two-position straight line segment.&amp;nbsp;&amp;nbsp; And then there is the method of drawing a polyline (a linestring) which would be the same method as drawing a polygon.&amp;nbsp;&amp;nbsp; You just don't close it.&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;From the selection standpoint, imagine that I trace a stream on a background image, and I want to find all houses within 300 feet.&amp;nbsp;&amp;nbsp;So there is merit in having a line-based selection tool, including lines selected from a layer.&lt;br /&gt;&lt;br /&gt;And, while I'm asking... I've never seen the right-click and drag, left click to insert vertex method of polygon drawing.&amp;nbsp;&amp;nbsp;Would it be possible to get a setting added that would implement a left-click to start the polygon and add vertices, and double-click to end the drawing mode?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I do realize that your solution provides more mouse-based operations w/o the user explicitly being forced to define a mouse-action mode to start an operation, but the user education for our customers will be quite significant, and frankly, they don't like change.&amp;nbsp;&amp;nbsp;We'll take a lot of flack if we FORCE them to change the way the operate.&lt;br /&gt;&lt;br /&gt;Thanks!&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, August 13, 2008 at 6:41:35 PM by Jon Person&lt;/b&gt;&lt;p&gt;Yes, the logic in the Selection class could be opened up into a more general-purpose means to draw lines and polygons.&amp;nbsp;&amp;nbsp;Perhaps it can also be configured to where the buttons involved with starting, continuing, and committing selection points can be configured.&amp;nbsp;&amp;nbsp;I agree that we shouldn't force end-users to use the control one specific way.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I believe Phil and I discussed the problem with making controls interactive (versus having people write their own) but this seems a common enough feature to me to discuss further.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue118.aspx</link><pubDate>Wed, 13 Aug 2008 18:41:35 GMT</pubDate></item><item><title>Issue #106 (Postponed for Later): What is an XML solution for georeferencing images?</title><description>&lt;b&gt;Tuesday, July 15, 2008 at 4:06:01 PM by Jon Person&lt;/b&gt;&lt;p&gt;The GeoTIFF file format is a widely-used way to embed georeferencing information such as Tie Points, Projection, Ellipsoid, and Datum right inside of a single image.&amp;nbsp;&amp;nbsp;That's fine, but it quickly becomes problematic for the .NET Framework, because the .NET Framework cannot write image metadata.&amp;nbsp;&amp;nbsp;As a result, we've found that it'll take extreme amounts of labor to support writing GeoTIFF imagery in the native TIFF format.&lt;br /&gt;&lt;br /&gt;But then... isn't XML replacing all file formats?&amp;nbsp;&amp;nbsp;I'd like to get some feedback from the community here.&amp;nbsp;&amp;nbsp;We can easily implement an XML format which, when paired with any image .NET supports, can let users georeference any image... not just TIFF.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;So here's the question:&amp;nbsp;&amp;nbsp;How tied is your organization to the GeoTIFF format?&amp;nbsp;&amp;nbsp;Would you be able to use a GIS.NET XML-based solution to georeferencing images?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 15, 2008 at 4:20:33 PM by Jon Person&lt;/b&gt;&lt;p&gt;The file format would look like this:&lt;br /&gt;&lt;br /&gt;MyImage.jpg&lt;br /&gt;MyImage.jpg.xml&lt;br /&gt;&lt;br /&gt;... using the same base filename but adding &amp;quot;.xml&amp;quot;&lt;br /&gt;&lt;br /&gt;The XML file itself would contain:&lt;br /&gt;&lt;br /&gt;1) The projection of the image&lt;br /&gt;2) A list of two or more &amp;quot;tie points&amp;quot; (geographic coordinates [lat/long]) for the image&lt;br /&gt;&lt;br /&gt;... since our Projection and Position classes already support XML, reading and writing the file would be trivial.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, July 21, 2008 at 3:00:56 AM by Marcel Suter&lt;/b&gt;&lt;p&gt;I would very welcome this. &lt;br /&gt;&lt;br /&gt;I have now worked quite a long time trying to get a proper support of bitmapped data for my evaluation work. I have now found that ER Mapper is able to produce correctly formatted GeoTIFFs, but still i am very unsure about that format at all. I need to produce correctly projected images out of images, which i will then use in GIS 3.0. For me, it would be much simpler to use an XML-Format, since I am familiar with XML, but not with GeoTIFF. I do still not have found satisfying tool support for GeoTIFF.&lt;br /&gt;&lt;br /&gt;What would be very good, would be some support to convert from XML to GeoTIFF and vice versa in a programmatic way and probably an Example app for this. Thus I could produce correctly referenced XML files and then &amp;quot;export&amp;quot; them to GeoTIFF for compatibility reasons.&lt;br /&gt;&lt;br /&gt;Again, this would be VERY NICE! :-)&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, August 12, 2008 at 2:02:17 PM by Jon Person&lt;/b&gt;&lt;p&gt;Yes, this will be implemented soon and most of the work is already finished.&amp;nbsp;&amp;nbsp;What needs to happen is both the Projection and the Geographic Tie Points of an image needs to be serialized to XML.&amp;nbsp;&amp;nbsp;Right now the Projection class can be serialized via WriteXml, and tie points can be written individually since Position is GML/XML compliant.&amp;nbsp;&amp;nbsp;A Picture.Save() method will be implemented to encapsulate this functionality; in the meantime you can make XML files using this approach.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, October 23, 2008 at 11:57:45 PM by Peter van Rees&lt;/b&gt;&lt;p&gt;We use a lot of gif and jpg files. Now using the world file format from Esri (http://en.wikipedia.org/wiki/World_file) which lacks projection info. I would welocome this solution!&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:36:05 PM by Jon Person&lt;/b&gt;&lt;p&gt;Just an update that I hope to revisit this issue in the next week.&amp;nbsp;&amp;nbsp;We already have the code necessary to serialize a projection, so adding code to de/serialize a Picture object should be trivial at this point.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue106.aspx</link><pubDate>Mon, 17 Nov 2008 17:36:05 GMT</pubDate></item><item><title>Issue #226 (Postponed for Later): Implement MapMouseEventArgs to include coordinates in map mouse events.</title><description>&lt;b&gt;Tuesday, December 30, 2008 at 6:05:03 AM by Peter van Rees&lt;/b&gt;&lt;p&gt;Would it be possible to:&lt;br /&gt;&lt;br /&gt;1. make the parameter on the OnClick method of a Layer/GeographicObject object of type GeoFramework.PositionEventArgs instead of System.EventArgs? Now there is no simple way to find out where the click occurred within the Layer/GeographicObject.&lt;br /&gt;&lt;br /&gt;2. Inlude the projected coordinates in GeoFramework.PositionEventArgs? (just for convenience)&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, December 30, 2008 at 6:26:58 AM by Peter van Rees&lt;/b&gt;&lt;p&gt;hmmm... Somehow the mouse events do not get fired at all in my app. Do I need to enable them somewhere?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, December 30, 2008 at 11:13:27 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm, that's a great idea, actually.&amp;nbsp;&amp;nbsp;We'd probably do a MapMouseEventArgs with pixel/projected/geographic coordinates.&amp;nbsp;&amp;nbsp;Also, if you have a Polygon and it's Click event is fired, the coordinate will already be fully contained by the polygon.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, December 30, 2008 at 11:51:09 AM by Peter van Rees&lt;/b&gt;&lt;p&gt;Great! Can you tell me more about what to expect from these events on a layer? They don't seem to be fired at all. I expected the events to be fired if the mouse event took place within the layers extent. &lt;br /&gt;&lt;br /&gt;Can you give an estimate of the moment this will be implemened? (in other words can I wait for it, or should I implement a workaround for now?)&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, February 16, 2009 at 9:33:37 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Peter, a workaround is best.&amp;nbsp;&amp;nbsp;Our hands are tied regarding this method because it would be a breaking change.&amp;nbsp;&amp;nbsp;I'll be sure it does get implemented for a major release.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue226.aspx</link><pubDate>Mon, 16 Feb 2009 21:33:37 GMT</pubDate></item><item><title>Issue #230 (Released): Improved HTC Device Detection</title><description>&lt;b&gt;Wednesday, January 14, 2009 at 12:10:53 PM by Yatin Patel&lt;/b&gt;&lt;p&gt;trying to detect internal device on htc 7501 advantage phone (Windows mobile 6) but it does not detect any device. any suggestions?? it works fine with microsoft gps api.&lt;br /&gt;&lt;br /&gt;Thanks&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, January 15, 2009 at 10:58:22 AM by Jon Person&lt;/b&gt;&lt;p&gt;The HTC series of devices uses a proprietary GPS Intermediate Driver.&amp;nbsp;&amp;nbsp;It's quite possible that their registry structure has changed again.&amp;nbsp;&amp;nbsp;Are you able to export anything from the registry?&amp;nbsp;&amp;nbsp;If so, I'd like to give you the path to a registry branch I'd like you to export.&amp;nbsp;&amp;nbsp;Then, I can have a look and it'll help me determine why the device isn't being picked up.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, January 16, 2009 at 8:06:43 AM by Yatin Patel&lt;/b&gt;&lt;p&gt;yes i can export anything from registry.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, January 16, 2009 at 8:12:20 AM by Yatin Patel&lt;/b&gt;&lt;p&gt;suggestion, as i can run any third party mapping software successfully without changing anything, it also detects gps so easily, can we not do the same for gps.net framework?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, January 21, 2009 at 11:28:39 AM by Yatin Patel&lt;/b&gt;&lt;p&gt;please give me path to a registry branch so that i can export and send it to you.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, February 06, 2009 at 2:20:35 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Yatin, my apologies for the delay.&amp;nbsp;&amp;nbsp;The registry branch to export is:&lt;br /&gt;&lt;br /&gt;HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 19, 2009 at 4:24:56 PM by Jon Person&lt;/b&gt;&lt;p&gt;We now have proper HTC support in GPS3.&amp;nbsp;&amp;nbsp;The design of the GPSID functionality is so different, however, that we can't implement all this in GPS2 as we originally hoped.&amp;nbsp;&amp;nbsp; We'll shoot for a release in April.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue230.aspx</link><pubDate>Thu, 19 Feb 2009 16:24:56 GMT</pubDate></item><item><title>Issue #228 (Released): NmeaInterpreter hangs during Start on Samsung Omnia and Samsung Epix</title><description>&lt;b&gt;Monday, January 12, 2009 at 3:02:13 AM by  &lt;/b&gt;&lt;p&gt;Hello,&lt;br /&gt;&lt;br /&gt;we are experiencing a problem where the GeoFramework seems to hang. Precisely a call to a method does not return.&lt;br /&gt; &lt;br /&gt;This Problem occurs on Samsung Omnia and Samsung Epix (i907).&lt;br /&gt;&lt;br /&gt;Code snippet to reproduce the problem:&lt;br /&gt;&lt;br /&gt;GpsStream stream = new GpsStream();&lt;br /&gt;NmeaInterpreter interpreter = new NmeaInterpreter(stream);&lt;br /&gt;// the following call does not return. Waittime &amp;gt; 5 min.&lt;br /&gt;interpreter.Start();&lt;br /&gt;&lt;br /&gt;I'm referencing GeoFRamework.PocketPC.dll (1.4.7.0) and GeoFramework.Gps.PocketPC.dll (2.3.20.0)&lt;br /&gt;&lt;br /&gt;I can also send you the complete source code of our test-application.&lt;br /&gt;&lt;br /&gt;Kind regards&lt;br /&gt;Cem Aslan&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, January 12, 2009 at 12:04:28 PM by Jon Person&lt;/b&gt;&lt;p&gt;This is most likely caused by a missing registry entry on the Samsung devices.&amp;nbsp;&amp;nbsp;On these devices, the registry value which indicates the &amp;quot;Program Port&amp;quot; is missing by default.&amp;nbsp;&amp;nbsp;This can be corrected by going into the GPS Intermediate Driver control panel then specifying a port (usually &amp;quot;GPD1:&amp;quot;).&amp;nbsp;&amp;nbsp;When you click &amp;quot;OK&amp;quot; the registry value should be saved.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, January 12, 2009 at 1:30:28 PM by Jon Person&lt;/b&gt;&lt;p&gt;If you want to repair this registry value, manually, you can do this:&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer]&lt;br /&gt;	&amp;quot;DriverInterface&amp;quot;=&amp;quot;GPD1:&amp;quot;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, January 22, 2009 at 3:54:44 AM by  &lt;/b&gt;&lt;p&gt;Yes, setting the Port to GPD1: resolves the issue. Unfortunately some of our customers use also Programs that need a Com-Port setting (and stop working if it is set to GPD1:) But since other programs that use the Windows Mobile Intermediate driver work independet of this settings it would be nice if GeoFrameworks could work independet, too. Further when setting the Port to GPD1: the hanging-issue is solved but the application still gets no GPS-Position. Are there any known issues with Samsung Windows-Moble Phones?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, February 15, 2009 at 4:18:40 PM by Jon Person&lt;/b&gt;&lt;p&gt;Alright.&amp;nbsp;&amp;nbsp;We have the Samsung Omina i900 in-house now.&amp;nbsp;&amp;nbsp;After trying all afternoon, attempts to connect to the default GPSID port (COM3:) fails to read any data.&amp;nbsp;&amp;nbsp;It now appears that the Omina has incorrect settings by default for the GPSID.&amp;nbsp;&amp;nbsp;It looks like the Samsung GPS Card will need specific handling to make it work seamlessly.&amp;nbsp;&amp;nbsp;Uh, Samsung?&amp;nbsp;&amp;nbsp;Care to test your stuff before releasing it to market?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, February 15, 2009 at 8:55:05 PM by Jon Person&lt;/b&gt;&lt;p&gt;After a full day of research, I'm happy to report that we have the Omina now working smoothly with GPS.NET 3.0.&amp;nbsp;&amp;nbsp;The key was using smaller buffer sizes; the GPSID driver apparently cannot handle anything larger than about 512 bytes.&amp;nbsp;&amp;nbsp;If a buffer is too large, a call to read data from the port will hang indefinitely.&lt;br /&gt;&lt;br /&gt;This is clearly a bug in the design of the Omina's GPSID driver.&amp;nbsp;&amp;nbsp;Development of GPS.NET 3.0 is in full swing right now, and I expect to have it released perhaps as soon as April 1.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, May 15, 2009 at 2:39:00 AM by Jon Person&lt;/b&gt;&lt;p&gt;This issue has been resolved as of GPS.NET 3.0, which gracefully detects HTC hardware such as the Samsung Omina.&amp;nbsp;&amp;nbsp;The problem is caused by an undocumented buffer size requirement of the hardware.&amp;nbsp;&amp;nbsp;Any buffer size over their limit causes the hang that you speak of.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue228.aspx</link><pubDate>Fri, 15 May 2009 02:39:00 GMT</pubDate></item><item><title>Issue #217 (Released): Error: A port name must be specified in order to open a serial connection.</title><description>&lt;b&gt;Friday, December 12, 2008 at 2:30:03 PM by Jon Person&lt;/b&gt;&lt;p&gt;Rare reports of this error have arrived, and a developer was kind enough today to assist me with troubleshooting the cause of the error.&amp;nbsp;&amp;nbsp;As a result, some changes are now being review for the &amp;quot;SharedGpsDevice&amp;quot; class.&amp;nbsp;&amp;nbsp;The effects are positive and far-reaching enough that I've decided to roll them into GPS.NET 2.0 instead of postponing them for version 3.0, now under development.&lt;br /&gt;&lt;br /&gt;This exception is caused by the technique GPS.NET uses to determine the name of the shared program port.&amp;nbsp;&amp;nbsp;After looking at the code, and discussing the approach with John Spaith, the guy at Microsoft who wrote the GPSID (and a great person, I might add!) we identified better approaches.&amp;nbsp;&amp;nbsp;I will now be working on a fix, and once it passes tests for all the mobile devices, will roll it out.&amp;nbsp;&amp;nbsp; This will also be implemented into GPS3's &amp;quot;IntermediateDriver&amp;quot; class.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, December 12, 2008 at 2:35:08 PM by Jon Person&lt;/b&gt;&lt;p&gt;FYI: The stack trace of this error is:&lt;br /&gt;&lt;br /&gt;&amp;quot;A port name must be specified in order to open a serial connection. Port names are typically three &lt;br /&gt;letters followed by a number, such as &amp;quot;COM7:&amp;quot;. &amp;quot;&lt;br /&gt;&lt;br /&gt;GeoFramework.IO.Serial.SerialStream..ctor()&lt;br /&gt;at GeoFramework.IO.Serial.SerialStream..ctor()&lt;br /&gt;at GeoFramework.IO.SharedGpsDevice.GetHardwareStream()&lt;br /&gt;at GeoFramework.IO.Devices.GetStreamByProtocol()&lt;br /&gt;at GeoFramework.IO.GpsStream.Refresh()&lt;br /&gt;at GeoFramework.IO.GpsStream.get_Length()&lt;br /&gt;at GeoFramework.Gps.Interpreter.Start()&lt;br /&gt;&lt;br /&gt;... a missing registry value causes a null to be passed into the SerialStream constructor.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, December 12, 2008 at 2:57:37 PM by Jon Person&lt;/b&gt;&lt;p&gt;I'll be using an AT&amp;amp;T Tilt, Intermec CN3, and an iPAQ 2945b as the primary test models for these changes.&amp;nbsp;&amp;nbsp;The Tilt represents an example of a proprietary GPSID.&amp;nbsp;&amp;nbsp;The Intermec represents a semi-standard device (a built-in in GPS but mostly standard registry), and the iPAQ is a completely standard device.&amp;nbsp;&amp;nbsp; These test cases should satisfy the three major designs for GPSID functionality.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 19, 2009 at 4:25:46 PM by Jon Person&lt;/b&gt;&lt;p&gt;Tests are completed for the HTC, AT&amp;amp;T Tilt and Samsung Omina series for GPS3.&amp;nbsp;&amp;nbsp;The design of the GPSID feature is fundamentally different, however, so we can't work this into GPS2 as we originally had hoped.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, May 15, 2009 at 2:38:23 AM by Jon Person&lt;/b&gt;&lt;p&gt;This issue has been resolved in GPS.NET 3.0, which has a rewritten, cleaner implementation for the GPS Intermediate Driver.&amp;nbsp;&amp;nbsp;This error will no longer occur.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue217.aspx</link><pubDate>Fri, 15 May 2009 02:38:23 GMT</pubDate></item><item><title>Issue #110 (Released): PositionChanged returns incorrect PostionTimeStamp on AT&amp;T Tilt</title><description>&lt;b&gt;Saturday, July 19, 2008 at 6:20:25 AM by Bud Cribar&lt;/b&gt;&lt;p&gt;The following sequence of sentences are produced by the ATT Tilt&lt;br /&gt;&lt;br /&gt;$GPGGA,165822.0,4030.537242,N,10500.836529,W,1,08,1.7,1480.5,M,,,,*24&lt;br /&gt;$GPRMC,165822.0,A,4030.537242,N,10500.836529,W,18.4,91.9,140708,,,A*75&lt;br /&gt;$GPGSA,A,3,32,20,11,16,14,30,23,255,,,,,2.8,1.7,2.2*0F&lt;br /&gt;$GPVTG,91.9,T,,M,18.4,N,34.1,K*5A&lt;br /&gt;$GPGSV,3,1,11,01,50,056,,05,04,032,31,11,23,255,32,14,28,074,27*75&lt;br /&gt;$GPGSV,3,2,11,16,16,158,,20,44,307,28,22,09,135,,23,15,278,33*7E&lt;br /&gt;$GPGSV,3,3,11,30,20,050,32,31,77,060,,32,70,307,*4A&lt;br /&gt;$GPRMC,,V,,,,,,,,,,N*53&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,,,,*32&lt;br /&gt;$GPVTG,,T,,M,,N,,K*4E&lt;br /&gt;$GPGSV,3,1,11,01,50,056,,05,04,032,31,11,23,255,32,14,28,074,27*75&lt;br /&gt;$GPGSV,3,2,11,16,16,158,,20,44,307,28,22,09,135,,23,15,278,33*7E&lt;br /&gt;$GPGSV,3,3,11,30,20,050,32,31,77,060,,32,70,307,*4A&lt;br /&gt;$GPRMC,,V,,,,,,,,,,N*53&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,,,,*32&lt;br /&gt;$GPVTG,,T,,M,,N,,K*4E&lt;br /&gt;$GPGSV,3,1,11,01,50,056,,05,04,032,30,11,23,255,35,14,28,074,26*72&lt;br /&gt;$GPGSV,3,2,11,16,16,158,,20,44,307,25,22,09,135,,23,15,278,36*76&lt;br /&gt;$GPGSV,3,3,11,30,20,050,32,31,77,060,25,32,70,307,21*4E&lt;br /&gt;$GPGGA,165837.5,4030.533208,N,10500.729856,W,1,03,3.8,1480.5,M,,,,*2D&lt;br /&gt;&lt;br /&gt;When the gps_PositionCHanged event is fired on the last $GPGGA sentence parse the e.PositionTimeStamp is incorrectly reported as 1/1/01&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, July 19, 2008 at 6:22:55 AM by Bud Cribar&lt;/b&gt;&lt;p&gt;Problem with the fractional timestamp?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, July 24, 2008 at 8:12:20 AM by Bud Cribar&lt;/b&gt;&lt;p&gt;This happens on my Garmin iQue M3 also.... I put in a trap to detect 01/01/01 and here are some results... &lt;br /&gt;&lt;br /&gt;7/24/08Time: 8:23:30 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:23:30 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:23:30 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:23:30 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:34:10 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:34:10 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:35:38 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:35:38 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:35:38 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:35:39 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:35:39 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:35:40 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:35:40 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Warning&lt;br /&gt;&amp;lt;&amp;lt;&amp;lt; Warning&lt;br /&gt;7/24/08Time: 8:35:41 AM&lt;br /&gt;Rev. 2.00 Build 3125&lt;br /&gt;Year = 101/01/01 00:00:00.00000&lt;br /&gt;Curr:&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, August 13, 2008 at 7:20:39 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm... I remember we found a problem with the milliseconds-parsing code being incorrect.&amp;nbsp;&amp;nbsp;This was resolved I believe in version .20; it did indeed involve the fractional milliseconds parsing.&amp;nbsp;&amp;nbsp;Could it be that this is what causes the tests on your end to report different values?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, August 13, 2008 at 7:21:21 PM by Jon Person&lt;/b&gt;&lt;p&gt;hmm PositionTimeStamp should be the current date. this is strange.&amp;nbsp;&amp;nbsp;I'll go check now&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 2:16:27 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Bud, do you have a log of GPS data which can go along with the failed sentence?&amp;nbsp;&amp;nbsp;I need some help to repro the exact moment where the date/time stamp becomes incorrect.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, October 19, 2008 at 5:11:01 PM by Bud Cribar&lt;/b&gt;&lt;p&gt;Yes,&lt;br /&gt;This is the actual log that the ATT Tilt produced and caused the error... &lt;br /&gt;$GPGGA,165822.0,4030.537242,N,10500.836529,W,1,08,1.7,1480.5,M,,,,*24&lt;br /&gt;$GPRMC,165822.0,A,4030.537242,N,10500.836529,W,18.4,91.9,140708,,,A*75&lt;br /&gt;$GPGSA,A,3,32,20,11,16,14,30,23,255,,,,,2.8,1.7,2.2*0F&lt;br /&gt;$GPVTG,91.9,T,,M,18.4,N,34.1,K*5A&lt;br /&gt;$GPGSV,3,1,11,01,50,056,,05,04,032,31,11,23,255,32,14,28,074,27*75&lt;br /&gt;$GPGSV,3,2,11,16,16,158,,20,44,307,28,22,09,135,,23,15,278,33*7E&lt;br /&gt;$GPGSV,3,3,11,30,20,050,32,31,77,060,,32,70,307,*4A&lt;br /&gt;$GPRMC,,V,,,,,,,,,,N*53&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,,,,*32&lt;br /&gt;$GPVTG,,T,,M,,N,,K*4E&lt;br /&gt;$GPGSV,3,1,11,01,50,056,,05,04,032,31,11,23,255,32,14,28,074,27*75&lt;br /&gt;$GPGSV,3,2,11,16,16,158,,20,44,307,28,22,09,135,,23,15,278,33*7E&lt;br /&gt;$GPGSV,3,3,11,30,20,050,32,31,77,060,,32,70,307,*4A&lt;br /&gt;$GPRMC,,V,,,,,,,,,,N*53&lt;br /&gt;$GPGSA,A,1,,,,,,,,,,,,,,,,*32&lt;br /&gt;$GPVTG,,T,,M,,N,,K*4E&lt;br /&gt;$GPGSV,3,1,11,01,50,056,,05,04,032,30,11,23,255,35,14,28,074,26*72&lt;br /&gt;$GPGSV,3,2,11,16,16,158,,20,44,307,25,22,09,135,,23,15,278,36*76&lt;br /&gt;$GPGSV,3,3,11,30,20,050,32,31,77,060,25,32,70,307,21*4E&lt;br /&gt;$GPGGA,165837.5,4030.533208,N,10500.729856,W,1,03,3.8,1480.5,M,,,,*2D&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, October 19, 2008 at 5:14:07 PM by Bud Cribar&lt;/b&gt;&lt;p&gt;If you feed that data to an interpreter and set a breakpoint on the gps_PositionCHangedEvent you will see that e.PositionTimeStamp is incorrectly reported as 1/1/01 on the last GPGGA sentence&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:09:46 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm, it looks like we'll need special support for the AT&amp;amp;T Tilt sentence.&amp;nbsp;&amp;nbsp;Is it called the &amp;quot;Tilt&amp;quot; as in breaking a pinball machine?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, May 15, 2009 at 2:37:28 AM by Jon Person&lt;/b&gt;&lt;p&gt;We had to remove the notion of a timestamp associated with each position.&amp;nbsp;&amp;nbsp;But, we've replaced this with a public synchronization object which can be locked to prevent race conditions and ensure that a set of values are unchanged as you read them.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue110.aspx</link><pubDate>Fri, 15 May 2009 02:37:28 GMT</pubDate></item><item><title>Issue #104 (Released): Enabling Devices.IsClockSynchronizationEnabled seems to bring device to a crawl</title><description>&lt;b&gt;Tuesday, July 15, 2008 at 1:00:50 PM by Neil Andrews&lt;/b&gt;&lt;p&gt;If I set Devices.IsClockSynchronizationEnabled to true, the device seems to slow right down as if CPU usuage has gone right up.&amp;nbsp;&amp;nbsp;If I do not set this property everything is ok.&lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;Dan&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 15, 2008 at 1:06:14 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm, that's strange.&amp;nbsp;&amp;nbsp;When this property is enabled, then changes to the UTC date/time will cause the device's internal clock to be reset -- as long as a GPS satellite fix is present.&amp;nbsp;&amp;nbsp;This code requires a P/Invoke to set the system time.&amp;nbsp;&amp;nbsp;I'd assume that's where the bottleneck is.&amp;nbsp;&amp;nbsp;The only other possible bottleneck would be the subscription to the UtcDateTimeChangted event which would fire frequently.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 22, 2008 at 3:06:18 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi neil, after looking at the code, this does look like a bottleneck at the API level.&amp;nbsp;&amp;nbsp;The additional event subscription alone isn't enough to justify the slowdown.&amp;nbsp;&amp;nbsp;I'll keep this issue alive in the form of Postponed so that it gets revisited in 3.0.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, May 15, 2009 at 2:34:09 AM by Jon Person&lt;/b&gt;&lt;p&gt;The engine for GPS.NET 3.0 has been slimmed down considerably compared to version 2.0, so I do now expect an improvement.&amp;nbsp;&amp;nbsp;We're using a slightly different technique to update the system clock now.&amp;nbsp;&amp;nbsp;I'd honestly be surprised to see a huge improvement at the API level but it should at least be noticably better.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue104.aspx</link><pubDate>Fri, 15 May 2009 02:34:09 GMT</pubDate></item><item><title>Issue #73 (Postponed for Later): Support for Digital Elevation Model (DEM) files</title><description>&lt;b&gt;Wednesday, June 18, 2008 at 9:59:34 AM by Jon Person&lt;/b&gt;&lt;p&gt;Requests have arrived via email to add support for ASCII DEM files in GIS3.&amp;nbsp;&amp;nbsp;I have no objection to this personally; can we get some others to chime in on how soon they'd like to see this feature?&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue73.aspx</link><pubDate>Wed, 18 Jun 2008 09:59:34 GMT</pubDate></item><item><title>Issue #32 (Postponed for Later): Add support for MicroStation DGN file format.</title><description>&lt;b&gt;Monday, May 19, 2008 at 9:32:43 AM by Jon Person&lt;/b&gt;&lt;p&gt;Some customers have requested support for the &amp;quot;DGN&amp;quot; file format, which is for the MicroStation CAD application.&amp;nbsp;&amp;nbsp;While this format is not used as much as, say, ESRI or MapInfo, the MicroStation application itself is in use today by many large organizations for geographic purposes.&amp;nbsp;&amp;nbsp;Supporting the file format would help users bridge the gap from MicroStation to more targeted GIS applications.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 19, 2008 at 9:33:59 AM by Jon Person&lt;/b&gt;&lt;p&gt;Several variations of GDN exist.&amp;nbsp;&amp;nbsp;Can we get some feedback on which variations are best to support?&amp;nbsp;&amp;nbsp;It looks like the newer &amp;quot;V8 GDN&amp;quot; variation would be preferable to support.&amp;nbsp;&amp;nbsp;I'll add the Adobe PDF technical specification documents to SCC now.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue32.aspx</link><pubDate>Mon, 19 May 2008 09:33:59 GMT</pubDate></item><item><title>Issue #3 (Postponed for Later): Add support for MapInfo TAB file format</title><description /><link>https://secure.geoframeworks.com/Secured/ViewIssue3.aspx</link><pubDate>Wed, 30 Apr 2008 04:41:00 GMT</pubDate></item><item><title>Issue #266 (Released): Add "IsLoading" to Tileset</title><description>&lt;b&gt;Thursday, April 09, 2009 at 7:32:54 AM by Phil Marks&lt;/b&gt;&lt;p&gt;I could put a wait-cursor up while the tileset thread is loading tiles not already loaded.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, April 09, 2009 at 4:20:13 PM by Jon Person&lt;/b&gt;&lt;p&gt;I think Phil's trying to synchronize the behavior of the Map with his own application;&amp;nbsp;&amp;nbsp;enabling or disabling buttons based on Map behavior.&amp;nbsp;&amp;nbsp;As in the other issue, this is a thread synchronization issue and we can't block threads just for this.&amp;nbsp;&amp;nbsp;However, making Tileset.IsLoading return true when the loading thread has an active workload would help him to control his UI better.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, May 15, 2009 at 2:14:55 AM by Jon Person&lt;/b&gt;&lt;p&gt;The property has been added.&amp;nbsp;&amp;nbsp;This boolean will return true whenever the loading thread has a workload.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue266.aspx</link><pubDate>Fri, 15 May 2009 02:14:55 GMT</pubDate></item><item><title>Issue #274 (Behavior Is By Design): Can a Tileset view the exact extent of my data?</title><description>&lt;b&gt;Friday, April 24, 2009 at 8:50:09 AM by Phil Marks&lt;/b&gt;&lt;p&gt;For tilesets on my PDA: Once the tileset is created, and i run it on the PDA, if i zoom to the rectangle of the original corner points of my map, the screen is pretty will filled up, such that on at least 2 sides there is no margin.&amp;nbsp;&amp;nbsp;I want that situation to be the outermost tiles, without wasting the topmost level on a more zoomed out map which has lots of margin. Then, 2 levels would have a more usefull map, and still not have the larger number of tiles which it takes to produce 3 levels.&amp;nbsp;&amp;nbsp;Same for maps with more levels. If i zoom to fit on my PC, the top levels of my maps fill the screen.&amp;nbsp;&amp;nbsp;I want this to be the same for my PDA maps as well. This way, on my PDA, i can get 3 good levels out of a single map, without expending all the memory which it takes to produce corresponding tilesets with 4 levels, the way it is now.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, May 15, 2009 at 2:19:24 AM by Jon Person&lt;/b&gt;&lt;p&gt;Unfortunately, this is not possible.&amp;nbsp;&amp;nbsp;Tilesets use a fixed zoom-level algorithm for all tilesets.&amp;nbsp;&amp;nbsp;This is done for the following reason:&amp;nbsp;&amp;nbsp;by using a single set of zoom levels, it allows tilesets to be compatible with one another.&amp;nbsp;&amp;nbsp;They can be combined into a single map this way.&lt;br /&gt;&lt;br /&gt;I see your point, that you're probably trying to zoom into a specific extent.&amp;nbsp;&amp;nbsp;Instead of changing the zoom level behavior itself (which would cause other problems), you can change the Map control to not zoom by zoom level.&amp;nbsp;&amp;nbsp;This would let you zoom to a specific extent, though you may get some scaling behavior as tile bitmaps are scaled.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue274.aspx</link><pubDate>Fri, 15 May 2009 02:19:24 GMT</pubDate></item><item><title>Issue #272 (Released): OnMouseMoveNone throws unhandled exception</title><description>&lt;b&gt;Wednesday, April 22, 2009 at 2:21:52 PM by Ryan Dotson&lt;/b&gt;&lt;p&gt;We have a customer seeing periodic unhandled exceptions that crash the application.&amp;nbsp;&amp;nbsp;I have implemented an UnhandledException event to catch and log the details.&amp;nbsp;&amp;nbsp;It appears the problem is coming from Geoframeworks Libraries.&amp;nbsp;&amp;nbsp;Please help!&lt;br /&gt;&lt;br /&gt;Here are the details:&lt;br /&gt;&lt;br /&gt;Exception: Index was outside the bounds of the array.&lt;br /&gt;Source: GeoFramework.Drawing&lt;br /&gt;Stack Trace:&lt;br /&gt;at GeoFramework.Shapes.Layer.CalculateProjectedExtent()&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicObject.get_ProjectedExtent()&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.Layer.CalculateProjectedExtent()&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicObject.get_ProjectedExtent()&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.Layer.CalculateProjectedExtent()&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicObject.get_ProjectedExtent()&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.Layer.Search(PointF projectedPoint, List`1 results)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.Search(PointF projectedLocation)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.OnMouseMoveNone(Object chezburger)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading.ExecutionContext.runTryCode(Object userData)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, April 22, 2009 at 2:38:59 PM by Ryan Dotson&lt;/b&gt;&lt;p&gt;A few more details:&amp;nbsp;&amp;nbsp;There are objects that are being added to the map layers constantly as the application runs.. I believe all the calls to Layer.Add() are wrapped in an Invoke() delegate call even though the objects are created on a worker thread.&amp;nbsp;&amp;nbsp;Just in case, is the Add() method threadsafe? Is there a locking object that is necessary?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, April 25, 2009 at 9:27:58 AM by Phil Smith&lt;/b&gt;&lt;p&gt;The immediate issue of cross-thread exceptions been resolved. Consuming the Map controls ExceptionOccured event allows for trapping errors that occur on an internal thread. The mouse event thread was not triggering this event when encountering exceptions.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, April 28, 2009 at 7:47:16 AM by Jon Person&lt;/b&gt;&lt;p&gt;Regarding your other question, Ryan: All geographic objects are thread-safe, with the exception of GeographicPath whose GraphicsPath object is not always locked.&amp;nbsp;&amp;nbsp;You may modify Layer and other GeographicList-derived objects from multiple threads.&amp;nbsp;&amp;nbsp;The only real threading issues arise when you try to access or modify GraphicsPath objects from multiple threads in a GeographicPath.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue272.aspx</link><pubDate>Tue, 28 Apr 2009 07:47:16 GMT</pubDate></item><item><title>Issue #265 (Released): Problem reading values from last column of DBF file</title><description>&lt;b&gt;Tuesday, April 07, 2009 at 2:13:09 AM by João Saraiva&lt;/b&gt;&lt;p&gt;(This is just to create an issue corresponding to a problem already reported by e-mail)&lt;br /&gt;&lt;br /&gt;I believe I found a problem with your DbaseReader: apparently it cannot correctly load values when the specified column name is the last one on the DBF (in my particular case, a set of IDs are not being read correctly when the ID column is in the last position).&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Jo&amp;#227;o Saraiva&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 11, 2009 at 3:05:16 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The file position in the dbase reader was off by one, truncating the last byte of each record. Fixed.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue265.aspx</link><pubDate>Mon, 11 May 2009 15:05:16 GMT</pubDate></item><item><title>Issue #252 (Cannot Reproduce): GIS.NET 3.0 VB.NET Example, Desktop Framework 3.5 Reference Exception</title><description>&lt;b&gt;Friday, February 27, 2009 at 2:45:22 AM by  &lt;/b&gt;&lt;p&gt;After installing the trial version of GIS.NET and loading the VB.NET I opened the GIS.NET Example (VB.NET) project in the …\GIS.NET 2.0\Desktop Framework 3.5\Examples\VB.NET folder&lt;br /&gt;&lt;br /&gt;When I ran the project for the first time I got the following error:&lt;br /&gt;Could not load file or assembly 'GeoFramework, Version=2.0.50727.0, Culture=neutral, PublicKeyToken=3ed3cdf4fdda3400' or one of its dependencies. The system cannot find the file specified.&lt;br /&gt;&lt;br /&gt;Searching my hard-drive for the file gave the following results:&lt;br /&gt;…\GIS.NET 2.0\Desktop Framework 2.0\ GeoFramework.dll contains version 1.4.3600.7 &lt;br /&gt;…\GIS.NET 2.0\Desktop Framework 3.5\ GeoFramework.dll contains version 2.0.50727.1&lt;br /&gt;&lt;br /&gt;How can I get the project to run?&lt;br /&gt;Regards,&lt;br /&gt;Sietse Wijnker,&lt;br /&gt;SW-Software&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, March 05, 2009 at 7:31:36 PM by Jon Person&lt;/b&gt;&lt;p&gt;This error suggests that an older assembly is being referenced somehow.&amp;nbsp;&amp;nbsp;The newer builds of GIS.NET should be looking for version 2.0.0.0&amp;nbsp;&amp;nbsp;(not version 2.0.50727.0).&amp;nbsp;&amp;nbsp; This can be resolved with these steps:&lt;br /&gt;&lt;br /&gt;1) Remove the assembly reference for GeoFramework or GeoFramework.PocketPC&lt;br /&gt;2) Re-add the assembly reference via the Add Reference dialog.&amp;nbsp;&amp;nbsp;You should see version &amp;quot;2.0.0.0&amp;quot; in the list.&lt;br /&gt;3) Rebuild the project&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue252.aspx</link><pubDate>Thu, 05 Mar 2009 19:31:36 GMT</pubDate></item><item><title>Issue #283 (Released): Changing the Quality property has no effect at run-time</title><description>&lt;b&gt;Thursday, May 07, 2009 at 4:17:27 PM by Jon Person&lt;/b&gt;&lt;p&gt;The Quality property of the Map control functions when it's changed during design-time, but once an application starts the property has no effect.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, May 07, 2009 at 4:25:42 PM by Jon Person&lt;/b&gt;&lt;p&gt;Changes at run-time will now update quality settings for all map objects (permanent items, movable items, and decorations).&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, May 07, 2009 at 4:47:13 PM by Jon Person&lt;/b&gt;&lt;p&gt;(NOTE: Fixed in both the live branch and the branch for GPS3 User Controls)&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue283.aspx</link><pubDate>Thu, 07 May 2009 16:47:13 GMT</pubDate></item><item><title>Issue #280 (Released): Improve GML support for "&lt;gml:Envelope&gt;" tags</title><description>&lt;b&gt;Thursday, May 07, 2009 at 12:26:57 PM by Jon Person&lt;/b&gt;&lt;p&gt;There are many ways in GML to represent an extent of some kind.&amp;nbsp;&amp;nbsp;Recently, more files are showing up whose extends are in the form of a gml:Emvelope with two embedded &amp;lt;gml:Pos&amp;gt; tags.&amp;nbsp;&amp;nbsp; GIS.NET 3 should be improved to support this, and similar envelope formats.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;gml:Envelope srsName=&amp;quot;urn:adv:crs:DE_DHDN_3GK3_NI100&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;gml:pos&amp;gt;3568912.140 5798882.760&amp;lt;/gml:pos&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;gml:pos&amp;gt;3580879.680 5812112.870&amp;lt;/gml:pos&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/gml:Envelope&amp;gt;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, May 07, 2009 at 12:38:41 PM by Jon Person&lt;/b&gt;&lt;p&gt;The GeographicRectangle(XmlReader) constructor now handles &amp;lt;gml:pos&amp;gt; tags for corner points.&amp;nbsp;&amp;nbsp;The corner points can be in any order; the left/top/right/bottom will be calculated from min/max values.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue280.aspx</link><pubDate>Thu, 07 May 2009 12:38:41 GMT</pubDate></item><item><title>Issue #279 (Released): ArgumentNullException when opening ESRI Shapefile with Line object</title><description>&lt;b&gt;Tuesday, May 05, 2009 at 11:50:08 AM by Jon Person&lt;/b&gt;&lt;p&gt;When constructing an ESRI Shapefile object, custom Types can be specified for points, lines and polygons.&amp;nbsp;&amp;nbsp;When the Line or Polygon types were used, however, the following exception would occur:&lt;br /&gt;&lt;br /&gt;System.ArgumentNullException was unhandled&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;Value cannot be null. Parameter name: con&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;ParamName=&amp;quot;con&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Source=&amp;quot;mscorlib&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Reflection.Emit.DynamicILGenerator.Emit(OpCode opcode, ConstructorInfo con)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GeographicDataSource.SetLineType(Type type)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GeographicDataSource..ctor(Stream stream, Type markerType, Type lineType, Type polygonType, Encoding encoding, Projection projection)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.EsriShapefile..ctor(Stream stream, Type pointType, Type lineType, Type polygonType, Encoding encoding, Projection projection, String textColumnName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.EsriShapefile..ctor(String filePath, Type pointType, Type lineType, Type polygonType, Encoding encoding, Projection projection, String textColumnName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.EsriShapefile..ctor(String filePath, Type pointType, Type lineType, Type polygonType)&lt;br /&gt;&lt;br /&gt;... this exception indicates that a constructor with two parameters (Projection and List&amp;lt;Position&amp;gt;) was expected but not found.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, May 05, 2009 at 11:50:45 AM by Jon Person&lt;/b&gt;&lt;p&gt;This has been fixed.&amp;nbsp;&amp;nbsp;Constructors were added to Line, Polygon, LabeledLine and LabeledPolygon to accept a Projection and a List&amp;lt;Position&amp;gt;.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue279.aspx</link><pubDate>Tue, 05 May 2009 11:50:45 GMT</pubDate></item><item><title>Issue #277 (Released): Selections should not include objects whose Visible property is False.</title><description>&lt;b&gt;Monday, May 04, 2009 at 10:58:25 AM by Jon Person&lt;/b&gt;&lt;p&gt;The Search(Polygon, SearchMode, List&amp;lt;GeographicObject&amp;gt;) method was not testing the Visible property.&amp;nbsp;&amp;nbsp;As a result, invisible objects were still being returned in a search.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 04, 2009 at 10:58:40 AM by Jon Person&lt;/b&gt;&lt;p&gt;This is now fixed.&amp;nbsp;&amp;nbsp;The Visible property is now included in the search.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue277.aspx</link><pubDate>Mon, 04 May 2009 10:58:40 GMT</pubDate></item><item><title>Issue #261 (Released): Add ability to modify Tileset loading thread priority</title><description>&lt;b&gt;Tuesday, March 31, 2009 at 11:51:33 AM by Phil Marks&lt;/b&gt;&lt;p&gt;I have a form with a map control on it.&amp;nbsp;&amp;nbsp;Also on this form is a button, &amp;quot;Global Disarm&amp;quot; which needs to be able to be pushed, even as my tilesets are being loaded. Sometimes my tilesets take 15 seconds to load, and the important button gets starved out as the map is rendering.&amp;nbsp;&amp;nbsp;I would like to be able to lower the priority of the tileset rendering threads so that i can push the disarm button at any time without the delay.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, April 03, 2009 at 7:14:05 PM by Jon Person&lt;/b&gt;&lt;p&gt;I concur with Phil's request.&amp;nbsp;&amp;nbsp;All threads in our components should expose a &amp;quot;Priority&amp;quot; property to help developers tune relative performance of threads.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, April 06, 2009 at 9:13:18 AM by Jon Person&lt;/b&gt;&lt;p&gt;A new instance property &amp;quot;LoadingThreadPriority&amp;quot; is now being added to Tileset.&amp;nbsp;&amp;nbsp;It should be set as early as possible.&amp;nbsp;&amp;nbsp;The default priority has also been changed from AboveNormal to Normal to reduce interference with the main application.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, April 28, 2009 at 12:40:21 PM by Jon Person&lt;/b&gt;&lt;p&gt;This has been re-fixed after rolling back a previous release.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue261.aspx</link><pubDate>Tue, 28 Apr 2009 12:40:21 GMT</pubDate></item><item><title>Issue #267 (Released): GPS Diagnostics Control Panel for Mobile Devices</title><description>&lt;b&gt;Thursday, April 09, 2009 at 4:18:43 PM by Jon Person&lt;/b&gt;&lt;p&gt;The GPS Diagnostics Control Panel utility has been released!&amp;nbsp;&amp;nbsp; We're very excited about this utility because it will reduce the amount of time all of us spend troubleshooting GPS device connections.&amp;nbsp;&amp;nbsp; This utility also uses the brand new GPS.NET 3.0 beta framework, which offers vastly improved device detection, a smaller footprint, and smaller CPU use.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;HOW TO INSTALL&lt;br /&gt;&lt;br /&gt;You can find the installer on our main downloads page (http://www.geoframeworks.com/DownloadProducts.aspx).&amp;nbsp;&amp;nbsp;The installer is geared towards end users (your customers) and installs the utility from the desktop.&amp;nbsp;&amp;nbsp;When the installer is run, a new icon will be placed in the Control Panel of your mobile device, in the System tab.&amp;nbsp;&amp;nbsp;A restart is necessary before this will show up.&amp;nbsp;&amp;nbsp;Once a restart is complete, tap the icon labeled &amp;quot;GPS Diagnostics&amp;quot;.&lt;br /&gt;&lt;br /&gt;TROUBLESHOOTING GPS ISSUES&lt;br /&gt;&lt;br /&gt;When the utility is run, you are presented with a brief welcome screen.&amp;nbsp;&amp;nbsp;Tap Next.&amp;nbsp;&amp;nbsp;GPS.NET 3.0 device detection will be started in a new window.&amp;nbsp;&amp;nbsp;A ListView at the top will display all of the devices which are being tested, and a ListBox underneath will display messages as device detection progresses.&amp;nbsp;&amp;nbsp; If a device is confirmed as a GPS device, its icon changes and it will be colored green.&amp;nbsp;&amp;nbsp;If a device fails detection, an error message is shown in the third column of the list view (scroll right to see it).&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;After anywhere from 10-40 seconds, detection will complete.&amp;nbsp;&amp;nbsp;At this point you can tap &amp;quot;Next&amp;quot; to troubleshoot any issues, or &amp;quot;View Log&amp;quot; for a record of devices and testing results.&amp;nbsp;&amp;nbsp;We'll explain logging in a moment.&amp;nbsp;&amp;nbsp;Tap Next, and the final screen will show any devices which were confirmed as a GPS device.&amp;nbsp;&amp;nbsp;Suggestions are displayed on this screen if any problems are found, and a suggestion can be tapped to troubleshoot it.&amp;nbsp;&amp;nbsp; For example, tapping on the &amp;quot;Bluetooth is turned off.&amp;quot; suggestion will cause a diaglog to appear asking you if you want to enable Bluetooth.&amp;nbsp;&amp;nbsp;Other positive messages are displayed here, such as whether the GPS Intermediate Driver is on and properly configured, and which serial port and baud rate should be used.&lt;br /&gt;&lt;br /&gt;TROUBLESHOOTING INDIVIDUAL DEVICES&lt;br /&gt;&lt;br /&gt;You can perform tests and learn more about any device by tapping on it.&amp;nbsp;&amp;nbsp;You can tap on a device in the ListView during detection, or in the ListView on the summary screen.&amp;nbsp;&amp;nbsp;Tapping an icon will bring up a new window, listing properties of the device.&amp;nbsp;&amp;nbsp;An icon is displayed depending on the status of the device.&amp;nbsp;&amp;nbsp;A red shield indicates problems; a GPS icon indicates success, and etc.&amp;nbsp;&amp;nbsp;From this screen, an analysis can be performed on the device.&amp;nbsp;&amp;nbsp;An analysis will open the device and examine the NMEA data to confirm that all major GPS features such as position, bearing, and speed are actually supported.&amp;nbsp;&amp;nbsp;A message box will be displayed after the analysis is complete.&amp;nbsp;&amp;nbsp;After analysis completes, the &amp;quot;Analyze&amp;quot; menu changes to &amp;quot;View Log&amp;quot;.&lt;br /&gt;&lt;br /&gt;LOGGING&lt;br /&gt;&lt;br /&gt;Logging is part of this utility and should be used to more quickly troubleshoot GPS connectivity problems.&amp;nbsp;&amp;nbsp;Logging is performed automatically whenever the utility is run, and whenever a device is analyzed.&amp;nbsp;&amp;nbsp;Log text files are created in the root folder of the device:&amp;nbsp;&amp;nbsp;&amp;quot;GPS Diagnostics Log.txt&amp;quot; for device detection, and other files depending on the name of the GPS device tested.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;SENDING LOGS TO GEOFRAMEWORKS&lt;br /&gt;&lt;br /&gt;Logs can be viewed from the utility and sent directly to us via our Web Service if you need further support.&amp;nbsp;&amp;nbsp;After detection completes, a &amp;quot;View Log&amp;quot; menu will appear.&amp;nbsp;&amp;nbsp;Clicking this will bring up the log file generated by detection.&amp;nbsp;&amp;nbsp;From this screen, you can examine the log and, if you like, you can send the log file to us.&amp;nbsp;&amp;nbsp;All reported logs are anonymous and sent to us via the internet.&amp;nbsp;&amp;nbsp; We welcome and encourage logs from you and your customers for all of your devices because it helps us make adjustments to our software and build a real-time list of supported GPS devices.&lt;br /&gt;&lt;br /&gt;FUTURE PLANS&lt;br /&gt;&lt;br /&gt;The intent of this utility is to minimize technical support time and to automate the process of getting GPS to work.&amp;nbsp;&amp;nbsp;The utility should identify problems with specific devices and provide real-time feedback.&amp;nbsp;&amp;nbsp;The utility depends on GPS.NET 3.0 for all major functionality, and therefore we plan to release the C# source code of the project via CodePlex for you to do with as you wish.&amp;nbsp;&amp;nbsp;You'll be able to modify, brand, and re-release the utility, plus it will serve as an excellent way to learn about GPS.NET 3.0's device detection features.&lt;br /&gt;&lt;br /&gt;GPS.NET 3.0 BETA TESTING&lt;br /&gt;&lt;br /&gt;Since this utility uses GPS.NET 3.0 beta, it's the fastest way to see how it works on your equipment.&amp;nbsp;&amp;nbsp;If you want to help us beta test GPS.NET 3.0, run this utility and you'll know instantly how it works with your equipment.&amp;nbsp;&amp;nbsp;We've tested this utility extensively on HTC hardware including the AT&amp;amp;T Tilt, Samsung Omina, HTC P3300, and others.&amp;nbsp;&amp;nbsp;If you send us log files for your experience, it will really help us produce an official release more quickly.&lt;br /&gt;&lt;br /&gt;FEEDBACK&lt;br /&gt;&lt;br /&gt;You're welcome to make suggestions!&amp;nbsp;&amp;nbsp;You can contact us via email at &amp;quot;support@geoframeworks.com.&amp;quot;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, April 09, 2009 at 4:23:42 PM by Jon Person&lt;/b&gt;&lt;p&gt;BETA TESTING PERIOD&lt;br /&gt;&lt;br /&gt;This utility will stop working on July 1st, 2009.&amp;nbsp;&amp;nbsp;We'll have GPS.NET 3.0 officially released before then.&amp;nbsp;&amp;nbsp;You'll be able to access the source code for this utility and compile it using your own purchased GPS3 license keys.&amp;nbsp;&amp;nbsp;GPS.NET 2.0 users will get a 40% discount towards 3.0, and the 3.0 DLL will include all GPS User Controls (they will no longer be a separate plug-in).&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, April 09, 2009 at 4:47:43 PM by Jon Person&lt;/b&gt;&lt;p&gt;You're welcome to report bugs as a response to this issue, to keep everything organized.&amp;nbsp;&amp;nbsp;Posting a new issue is okay, too, and probably a faster way to get our attention actually.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, April 15, 2009 at 4:24:05 PM by Jon Person&lt;/b&gt;&lt;p&gt;After a bunch of logs came in (thank you!!!) we've found that the .NET SerialPort class is completely unable to work with the GPS Intermediate Driver on older Windows Mobile 5.0 devices.&amp;nbsp;&amp;nbsp;So, I'll be rewriting the SerialStream class in order to regain connectivity on WM5; I think it's important we maintain support due to the logs.&amp;nbsp;&amp;nbsp;I will have it completed by the end of the week and released.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, April 15, 2009 at 5:46:24 PM by Jon Person&lt;/b&gt;&lt;p&gt;The bug behind the failure of the .NET SerialPort is hilarious.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue267.aspx</link><pubDate>Wed, 15 Apr 2009 17:46:24 GMT</pubDate></item><item><title>Issue #116 (Released): Requests/Issue on mouse actions</title><description>&lt;b&gt;Wednesday, August 06, 2008 at 1:04:23 AM by Ted Macy&lt;/b&gt;&lt;p&gt;The ZoomOut does not zoom out as fast as zooming in.&amp;nbsp;&amp;nbsp; ZoomOut should be the inverse of zooming in.&amp;nbsp;&amp;nbsp;If I zoom in four times, I could be able to get to the original extent with four zoom outs.&amp;nbsp;&amp;nbsp; To do this, if I have a ZoomPercent of 20%, then on a ZoomIn, I go to 80% of the current extent.&amp;nbsp;&amp;nbsp;On a ZoomOut, I should go to 125% of the current extent... not 120%.&amp;nbsp;&amp;nbsp; I can use the Zoom(percent) function in code to get this behavior, but I loose the advantage of the built-in mouse managers.&lt;br /&gt;&lt;br /&gt;And, can we get an additional option on the mouse click and doubleclick action enumerations?&amp;nbsp;&amp;nbsp; I would like ZoomInAndCenter as a combined option.&amp;nbsp;&amp;nbsp;When a person clicks on a map to zoom in, default behavior on most systems is to zoom in and make the clicked point be the center of the map.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 08, 2008 at 3:35:31 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The default mouse behavior is to zoom in and out using a constant percent regardless of the starting and end points of a zoom. You example actually changes the zoom percent from one direction to the other (from 20% to 25%). There are other methodogies we can explore for consideration in a future release.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, August 18, 2008 at 4:08:15 PM by Jon Person&lt;/b&gt;&lt;p&gt;Right, we'd need to implement a FIFO stack of zoom levels, which adds to the memory footprint.&amp;nbsp;&amp;nbsp;If we implemented this I imagine it would be DF only.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, April 10, 2009 at 11:03:34 AM by Phil Smith&lt;/b&gt;&lt;p&gt;Some zoome level changes wre implemented with the Tileset changes, including a ZoomMode setting that performs the exact behavior described here. Closing.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue116.aspx</link><pubDate>Fri, 10 Apr 2009 11:03:34 GMT</pubDate></item><item><title>Issue #259 (Behavior Is By Design): Sample program of Compact Framework 2.0 VB.NET for Pocket PC works in Mobile OS but not in WINCE device</title><description>&lt;b&gt;Tuesday, March 17, 2009 at 6:36:37 AM by  &lt;/b&gt;&lt;p&gt;The Sample program which you have provided (Compact Framework 2.0 VB.NET for Pocket PC ) is working in smart phone device having Mobile OS 6.1 but when we deploy the same in the windows CE device having WINCE 5.0, it&amp;nbsp;&amp;nbsp;doesn't search the embedded GPS device. It searches the com ports but the embedded GPS device which is available on com port no. 1, it is unable to detect.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, March 19, 2009 at 8:48:36 PM by  &lt;/b&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, March 21, 2009 at 7:46:05 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Sameer.&amp;nbsp;&amp;nbsp;Since there's no GPS Intermediate Driver on WindowsCE, we should check into the COM: port and baud rate settings for this particular device. I suspect that the baud rate may be a non-standard rate such as 9600, and this is causing the device to be unconnectable.&amp;nbsp;&amp;nbsp; Also, can you tell us which specific device you're working with?&amp;nbsp;&amp;nbsp;This can help us research the settings.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, March 22, 2009 at 3:30:21 AM by  &lt;/b&gt;&lt;p&gt;I've just discovered this issue too.&amp;nbsp;&amp;nbsp;I'm using a MIO device running WinCE 5.0.&lt;br /&gt;&lt;br /&gt;If I choose COM2 57600 in 3rd party GPS programs it works fine but GPS .NET fails to detect the device.&amp;nbsp;&amp;nbsp;Is there a way to force GPS .NET to use a particular COM port/baud?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, April 06, 2009 at 9:18:37 AM by Jon Person&lt;/b&gt;&lt;p&gt;Yes, you can modify the static GeoFramework.IO.Devices.SerialBaudRates collection.&amp;nbsp;&amp;nbsp;It should include the baud rate 57600 by default already, but you could clear the list and add BaudRate.Baud57600 if necessary.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue259.aspx</link><pubDate>Mon, 06 Apr 2009 09:18:37 GMT</pubDate></item><item><title>Issue #256 (Behavior Is By Design): Trial licensing for GPS.NET</title><description>&lt;b&gt;Wednesday, March 11, 2009 at 6:54:56 PM by  &lt;/b&gt;&lt;p&gt;Just downloaded the demo applicaiton, am trying to view the gps.net demo application.&amp;nbsp;&amp;nbsp;even after pasting in the license key the system does not accept.&amp;nbsp;&amp;nbsp;I am pasting the informaiton in the assembly.vb file per instructions.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, March 21, 2009 at 7:47:23 PM by Jon Person&lt;/b&gt;&lt;p&gt;There should be two license keys: one for GPS.NET and the other for the GPS.NET Control Toolbox.&amp;nbsp;&amp;nbsp; Some people mistakenly activate a trial of GIS.NET instead of GPS.NET since the product names are so similar.&amp;nbsp;&amp;nbsp;Let's go to this page and make sure that the trial you've activated is for GPS.NET, not GIS.NET: http://www.geoframeworks.com/FreeTrial.aspx&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue256.aspx</link><pubDate>Sat, 21 Mar 2009 19:47:23 GMT</pubDate></item><item><title>Issue #263 (Released): PowerEvent, SafeHandle and SafeFileHandle are deprecated</title><description>&lt;b&gt;Monday, April 06, 2009 at 9:16:33 AM by Jon Person&lt;/b&gt;&lt;p&gt;The PowerEvent class was a feature provided for GPS.NET version 2.0 to add notification of critical power events such as suspending or resuming a device.&amp;nbsp;&amp;nbsp;After extensive testing and development, the PowerEvent class is now deprecated.&amp;nbsp;&amp;nbsp;Specifically, a new technique has been found which eliminates the need for this class.&amp;nbsp;&amp;nbsp;The classes &amp;quot;SafeHandle&amp;quot; and &amp;quot;SafeFileHandle&amp;quot; were being used by PowerEvent, and are thus no longer necessary.&amp;nbsp;&amp;nbsp; GPS.NET 3.0 will still support connection recovery when power is lost, it's just a better technique.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, April 06, 2009 at 9:16:51 AM by Jon Person&lt;/b&gt;&lt;p&gt;Elimination of PowerEvent will also reduce battery use further for GPS.NET 3.0.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue263.aspx</link><pubDate>Mon, 06 Apr 2009 09:16:51 GMT</pubDate></item><item><title>Issue #262 (Behavior Is By Design): Running latest Geoframeworks sample code on a HTC Touch</title><description>&lt;b&gt;Wednesday, April 01, 2009 at 7:53:39 PM by  &lt;/b&gt;&lt;p&gt;I can compile, install and run the C# sample code, and I can detect the GPS device. It even shows the satellite locations (9 or 10 of them) and signal strengths etc. (Radio Button &amp;quot;Use any available GPS device&amp;quot; is selected) so it seems to be actual live data.&lt;br /&gt;&lt;br /&gt;BUT, nothing else seems to display anything. Ie on the &amp;quot;location&amp;quot; tab ALL the properties have &amp;quot;...&amp;quot; (ie latitude, longtitude etc - the only field that says anything is the date/time) and on the satellites page, the compass, altitidue and speed are all non responsive. And on the &amp;quot;precison&amp;quot; page I have set the Maximum HDOP and mx VDOP to ensure that it says &amp;quot;Position readings are being accepted&amp;quot; etc etc. Is this an issue with the HTC touch? As it appears to be talking to the GPS ok but not getting much further. I don't know if it matters, but when you push &amp;quot;Start&amp;quot; on the home page, the hourglass icon spins for the whole time you are on any of the pages..is this normal? And says &amp;quot;Connecting to GPS device..&amp;quot; in the status bar.&lt;br /&gt;&lt;br /&gt;Also, if you select the &amp;quot;use specific GPS device&amp;quot;, and push search, it does not return any results... &lt;br /&gt;&lt;br /&gt;We have purchased a licence last year for this, but I downloaded the latest version off the website just now and got the demo registration codes just in case the new version needed them.&lt;br /&gt;&lt;br /&gt;Any help would be appreciated.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, April 03, 2009 at 7:12:47 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm, it looks like no valid data is arriving from the HTC device.&amp;nbsp;&amp;nbsp;GPS.NET 2.0 has had quite a battle with HTC devices thanks to the unique GPS Intermediate Driver on these devices.&amp;nbsp;&amp;nbsp;They are very strict about buffer sizes; any size too large immediately breaks the driver.&amp;nbsp;&amp;nbsp; Unfortunately, the changes required to elegantly resolve this issue were too much of an architecture change for 2.0, so we rolled changes into 3.0, which supports all HTC devices smoothly and without extra code.&amp;nbsp;&amp;nbsp;I'd like to suggest a workaround but I believe the best option will be to experiment with the beta of GPS.NET 3.0, which I expect will be released within a couple of weeks&amp;nbsp;&amp;nbsp;(around April 15).&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue262.aspx</link><pubDate>Fri, 03 Apr 2009 19:12:47 GMT</pubDate></item><item><title>Issue #258 (Released): Map Rotation in Compact Framework does work</title><description>&lt;b&gt;Thursday, March 12, 2009 at 1:42:48 PM by  &lt;/b&gt;&lt;p&gt;I'd like to be able to provide a simple boundary mapping application on a Windows Mobile device.&amp;nbsp;&amp;nbsp;This is easier if the user can rotate the map so that it is &amp;quot;pointed&amp;quot; in the direction he or she is moving.&amp;nbsp;&amp;nbsp;When I set the Rotate property, it will rotate, but then and ArguementOutOfRangeException is thrown.&amp;nbsp;&amp;nbsp;I'd like the map to rotate without the exception.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, March 12, 2009 at 1:43:53 PM by  &lt;/b&gt;&lt;p&gt;&amp;quot;Due to resource limitations currently affecting the majority of compact devices, the rotation of imagery is not supported.&amp;quot; is the exception message.&amp;nbsp;&amp;nbsp;I don't think I have any mapping components that have an &amp;quot;image&amp;quot;, though - just a polygon, line and marker.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, March 31, 2009 at 2:06:03 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The search condition for image types was incorrect; fixed.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue258.aspx</link><pubDate>Tue, 31 Mar 2009 14:06:03 GMT</pubDate></item><item><title>Issue #251 (Behavior Is By Design): Add feature to map control to notify user when paint is done so that "after-paint" actions (like enable a button) can be taken</title><description>&lt;b&gt;Monday, February 23, 2009 at 9:42:59 AM by Phil Marks&lt;/b&gt;&lt;p&gt;This is a request for a new feature.&lt;br /&gt;With regard to being able to know when a paint of a tileset is done on my PDA:&lt;br /&gt;1. My immediate aim is to be able to hit the zoom button, disable some buttons, have the new rendition of the tileset appear, and then re-enable those buttons, in that order.&amp;nbsp;&amp;nbsp;If this feature were added to GIS.NET, it would also allow the user to put up a progress bar to be shown while zooming is taking place.&lt;br /&gt;2. The problem is that my “after-paint” code, starts execution a few seconds before that new rendition of the tileset appears. &lt;br /&gt;3. After I’ve opened the tileset, it happens mainly as I am first zooming in and panning to the levels. &lt;br /&gt;4. As I am doing the first zooms, after I hit the zoom button, my subsequent code starts executing (i.e. my buttons are re-enabled) a few seconds before the tileset displays in its new rendition. &lt;br /&gt;5. If, after the zoom button is hit, I wait on an auto-reset event, and then, at the end of my paint routine, I release the event, the situation is improved, but still noticeable. The undesired behavior also is evident if i use the CurrentProjectedExtentChanged() routine to release the autoreset event.&lt;br /&gt;6. Once I’ve zoomed and panned around a bit, the difference between when I hit the zoom button and when the tileset appears in its new rendition is less evident. &lt;br /&gt;7. The most difficult problem is getting the zoomed-tileset to actually appear on the screen before I can start my “after-map” code. &lt;br /&gt;8. If I had an event which doesn’t fire until the new tileset rendition appears, all of the above problems would go away.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, March 04, 2009 at 3:50:41 AM by João Saraiva&lt;/b&gt;&lt;p&gt;+1.&lt;br /&gt;&lt;br /&gt;This feature (which would be somewhat similar to the Wait() method of the EsriShapefile class, I suppose) would also allow us to easily overcome a minor limitation of the Tileset on the PocketPC: sometimes, due to the asynchronous loading of the map tiles, the map is not repainted with the newly-loaded tiles (the hourglass default tile is displayed indefinitely). I notice this mostly when loading tiles for a new zoom level. Nevertheless, I find this to be only a minor inconvenience, as a pan-up and pan-down (or similar operation) will properly paint the map.&lt;br /&gt;With this operation, we could wait on the loading thread (or, at the very least, regularly poll it), and issue a Map.Repaint() request when the tiles finish loading (as they would already be in memory, this call should execute fairly quick).&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Jo&amp;#227;o Saraiva&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, March 05, 2009 at 1:41:38 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The Paint event fires every time the map is updated after the new render is complete and is the closest to a &amp;quot;paint complete&amp;quot; that we can provide. The issue is that several individual updates may occur durring a period of time (drag panning with the mouse, for example) and there is no way to know which one is the &amp;quot;last&amp;quot; event programatically. There are many ways a user can &amp;quot;stop&amp;quot; interacting with the map that could be intrpreted as the end of a paint operation, but few have a definitive end event that would signal concretely that the user is done interacting with the map for the time being or that all data has been added etc.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, March 05, 2009 at 7:37:55 PM by Jon Person&lt;/b&gt;&lt;p&gt;I concur with Phil's assessment.&amp;nbsp;&amp;nbsp;In addition to that, some paint operations such as loading Tile images from disk occur on a separate thread.&amp;nbsp;&amp;nbsp;An after-paint event would have to some how synchronize all threads before the event, which will slow performance dramatically.&amp;nbsp;&amp;nbsp;We need to remember that paint operations can happen 100+ times per second if objects are being loaded; the behavior of a user interface should assume that asynchronous map rendering operations are the rule, not the exception.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, March 06, 2009 at 9:00:32 AM by João Saraiva&lt;/b&gt;&lt;p&gt;Yes, no argument here regarding the asynchronous nature of tileset loading :-) . Actually, I have been doing some experiments and have noticed that most of my problems with the map not being shown sometimes seem to occur only when I use a Cache object (i.e., a hierarchy consisting of Map -&amp;gt; Cache -&amp;gt; Tileset); if I remove the Cache from the hierarchy, the map is always shown (performance is a bit lower, but that is to be expected, I suppose). Nevertheless, tileset behavior is different depending on whether a Cache object is present. I still have to investigate this further, though.&lt;br /&gt;&lt;br /&gt;As for the topic at hand, perhaps the ideal here would be some sort of compromise: adding a property to the Tileset that states whether tiles are still being loaded or not. Something like this, I think:&lt;br /&gt;&lt;br /&gt;public class Tileset {&lt;br /&gt;	private bool _isLoadingTiles = false;&lt;br /&gt;	public bool IsLoadingTiles {&lt;br /&gt;		get { return _isLoadingTiles; }&lt;br /&gt;		private set { _isLoadingTiles = value; } // this is private and simple, so the JIT is very likely to inline it&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	private void TheTilesLoadingProcedure() {&lt;br /&gt;	&lt;br /&gt;		// Do some stuff&lt;br /&gt;	&lt;br /&gt;		// wait on the loading manual-reset event&lt;br /&gt;		&lt;br /&gt;		IsLoadingTiles = true;&lt;br /&gt;		&lt;br /&gt;		// Do the tile loading		&lt;br /&gt;		&lt;br /&gt;		IsLoadingTiles = false;&lt;br /&gt;		&lt;br /&gt;		// Do additional necessary stuff&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Perhaps this would help the OP with his problem, since he could use a combination of &amp;quot;polling property value + sleeping the UI thread depending on the result&amp;quot; to approximate the desired behavior. But you are the experts at this, so feel free to shoot my suggestion down if it would raise more trouble than it's worth.&lt;br /&gt;&lt;br /&gt;BTW (and with no intention to &amp;quot;hijack&amp;quot; this topic...), I have also noticed issue 156 (https://secure.geoframeworks.com/Secured/ViewIssue156.aspx). Is this still valid? Should we _not_ use the Cache? I ask this because the docs still mention that using a Cache object is recommended.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Jo&amp;#227;o Saraiva&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, March 31, 2009 at 2:02:29 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The Invalidated event firs when the Tileset is done loading a batch of tiles, which in turn redraws the map. This is way off topic fromn a generic paint notification for the map control.Closing.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue251.aspx</link><pubDate>Tue, 31 Mar 2009 14:02:29 GMT</pubDate></item><item><title>Issue #229 (Released): Null Reference occurs while MIF file loading if MID file is empty</title><description>&lt;b&gt;Tuesday, January 13, 2009 at 3:43:31 PM by  &lt;/b&gt;&lt;p&gt;I think, file must be skipped and/or event about invalid file must be generated.&lt;br /&gt;Map files recieved from xyzmaps.com shop and invalid, but exception cannot be handled (occurs on bacground thread)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Background background = new Background(GeoFramework.Drawing.Styles.Style.Default);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public MainForm()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InitializeComponent();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m_gisMap.Add(StreamMonitor.Current);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cache staticObjects = new Cache();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m_gisMap.Add(staticObjects);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;staticObjects.Add(background);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string directory = @&amp;quot;.\MapSources\MapInfo\edinberg_mif&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string ext = &amp;quot;mif&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (string file in Directory.GetFiles(directory, &amp;quot;*.&amp;quot; + ext))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GeographicDataSource source = StyledGeographicFile.Open(file);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;staticObjects.Add(source);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch (Exception ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trace.WriteLine(file);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m_gisMap.ZoomToFit();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;Exception:&lt;br /&gt;System.NullReferenceException was caught&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;Object reference not set to an instance of an object.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Source=&amp;quot;GeoFramework.Shapes&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.MapInfoMidReader.Initialize()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.MapInfoMidReader..ctor(Stream stream, Encoding encoding, String titleColumnName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.MapInfoMidReader..ctor(String fileName, Encoding encoding, String titleColumnName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.MapInfoFile..ctor(Stream stream, Type pointType, Type lineType, Type polygonType, Encoding encoding, String textColumnName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.MapInfoFile..ctor(String filePath, Type pointType, Type lineType, Type polygonType, Encoding encoding, String textColumnName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.MapInfoFile..ctor(String filePath, Type pointType, Type lineType, Type polygonType)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GeographicDataSource.Open(String filePath, Type pointType, Type lineType, Type polygonType)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.GeographicDataSource.Open(String filePath)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.IO.StyledGeographicFile.Open(String filePath)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at MapTest.MainForm..ctor() in D:\Work\GisNetTest\MapTest\MainForm.cs:line 51&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*.MIF file content&lt;br /&gt;Version 300&lt;br /&gt;Charset &amp;quot;WindowsLatin1&amp;quot;&lt;br /&gt;Delimiter &amp;quot;,&amp;quot;&lt;br /&gt;CoordSys Earth Projection 8, 79, &amp;quot;m&amp;quot;, -2, 49, 0.9996012717, 400000, -100000 Bounds (-7845061.1011, -15524202.1641) (8645061.1011, 4470074.53373)&lt;br /&gt;Columns 3&lt;br /&gt;&amp;nbsp;&amp;nbsp;Code Decimal(5, 2)&lt;br /&gt;&amp;nbsp;&amp;nbsp;Name Char(40)&lt;br /&gt;&amp;nbsp;&amp;nbsp;Id Integer&lt;br /&gt;Data&lt;br /&gt;&lt;br /&gt;*.MID file content - file empty&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, March 31, 2009 at 1:57:28 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Added handling so that empty MapInfo data files are skipped.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue229.aspx</link><pubDate>Tue, 31 Mar 2009 13:57:28 GMT</pubDate></item><item><title>Issue #135 (Released): Letting projected Data (like TileSets) define both projections and zoom levels</title><description>&lt;b&gt;Monday, August 25, 2008 at 11:39:18 PM by Olle Pettersson&lt;/b&gt;&lt;p&gt;I do not understand all the GIS magic that goes on under the hood when rendering maps, so please bear with me if I don’t make much sense.&lt;br /&gt; &lt;br /&gt;The way that I understand TileSets is that it renders fast because all the map data they represent has already been projected into screen coordinates beforehand. Therefore when rendering them again this process intensive step can be skipped.&lt;br /&gt;&lt;br /&gt;Now, when we use these TileSets on a CF device, it looks ok - but not perfect. The tiles do not always line up and look a bit distorted at certain zoom levels. I suppose this is because they are rendered at different zoom levels on the CF device compared when they are generated on the desktop. Could there be a way to let the TileSets also define the zoom levels on the device so they are always rendered without stretching? (Just like a TileSet now defines the projection of a map)&lt;br /&gt;&lt;br /&gt;That way the Tiles would not have to interpolate to the zoom levels between the points they were generated. This might lead to bigger ‘jumps’ between zoom but I think it would be ok if the tiles can be rendered without distortion. Plus, wouldn’t it be faster too? Because no extra work has to be done to the tiles before drawing to screen?&lt;br /&gt;&lt;br /&gt;Can this be supported in GIS.NET 3.0? it would require the TileSet to define a starting zoom and ZoomPercentage and then making sure somehow that these zoom levels are always maintained.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, August 26, 2008 at 9:55:06 AM by Jon Person&lt;/b&gt;&lt;p&gt;Exactly, tilesets are designed to eliminate the task of translating, rotating and scaling thousands of vectors on a tiny, slow mobile device CPU.&lt;br /&gt;&lt;br /&gt;The Tileset class uses what we refer to as a &amp;quot;tile coordinate system&amp;quot; to reduce a single tile into a (X, Y, Z) coordinate (X, Y and zoom level).&amp;nbsp;&amp;nbsp;The technique used to calculate the zoom level would produce the same result on any computer, but I believe you might be onto something.&amp;nbsp;&amp;nbsp;In rare cases a zoom level may be chosen which would cause bitmaps to be scaled UP, which is bad.&amp;nbsp;&amp;nbsp;It could be that a quick check needs to be implemented which bumps the zoom level if necessary to ensure that tile bitmaps only ever get scaled down.&lt;br /&gt;&lt;br /&gt;Right now, the concept of predefined zoom levels is being discussed.&amp;nbsp;&amp;nbsp;The problem with this is that everybody will have their own interpretation of the &amp;quot;best&amp;quot; zoom levels.&amp;nbsp;&amp;nbsp;The formula used to calculate zoom levels is based off of the performance of scaling a number of bitmaps, so I feel that's been pretty well optimized.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Assuming the &amp;quot;distortion&amp;quot; you speak of is indeed caused by tiles being scaled UP, then I think we can resolve that quickly.&amp;nbsp;&amp;nbsp;The task of calculating the rendered pixel size of tiles is trivial, so it would be easy to bump zoom levels automatically.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, August 26, 2008 at 5:24:02 PM by Olle Pettersson&lt;/b&gt;&lt;p&gt;So it would be possible then to have the map only zoom to the zoom levels defined by the TileSet coordinate system? Can zoom levels be bumped both up and down to prevent any scaling at all?&lt;br /&gt;&lt;br /&gt;I think it that this would work especially well on CF devices like ours. If the tiles only have to get rendered at the same zoom levels they were generated at, no up or down scaling would be required. On top of the tiles we can still have other movable geographical objects as normal, with the added benefit that the tiles will look pixel perfect.&lt;br /&gt;&lt;br /&gt;I see what you mean though, that developers will all have different ideas about what zoom levels they need.&lt;br /&gt;&lt;br /&gt;But I was thinking that if the TileSet is allowed to define the zoom levels, then no scaling of the bitmaps is necessary... so scaling would not be factor when using zoom levels defined by the TileSet. You just jump to the zoom levels you have.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 29, 2008 at 8:27:03 PM by Jon Person&lt;/b&gt;&lt;p&gt;Right yes I believe there would be something like a Map.SetZoomLevel() method which would zoom in to the precise place where no bitmap-scaling would be needed for tiles, improving performance as you suggest.&amp;nbsp;&amp;nbsp;I have to work with Phil to make sure the mathematics are correct but this should be straightworward to work into a build.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, March 17, 2009 at 9:45:48 AM by Phil Smith&lt;/b&gt;&lt;p&gt;I believe this issue is resolved in the tileset generation chamges. Zoom levels are configurable and specific to the data used to generate the tileset as well as parameters to control the resolution of the tileset when drawn (i.e. a tileset can be generated with the size of a compact device in mind). This prevents distortion from scaling the individual tiles.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue135.aspx</link><pubDate>Tue, 17 Mar 2009 09:45:48 GMT</pubDate></item><item><title>Issue #117 (Released): Add the ability to follow an object, which also rotates the map</title><description>&lt;b&gt;Wednesday, August 06, 2008 at 2:26:29 AM by Ted Macy&lt;/b&gt;&lt;p&gt;The Follow method on the map is a very nice feature.&amp;nbsp;&amp;nbsp; Would you consider an enhancement to support following with rotation?&amp;nbsp;&amp;nbsp; This would let us build a UI that emulates the Garmin or TomTom navigation units.&amp;nbsp;&amp;nbsp; Ideally, the map would be drawn such that the position of the following marker is about 1/4 the map height from the bottom, with the map rotated about that point based upon the most recent reasonable heading from the marker being followed.&amp;nbsp;&amp;nbsp; Maybe the relative screen position of the following marker should be a settable parameter?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, August 13, 2008 at 6:27:45 PM by Jon Person&lt;/b&gt;&lt;p&gt;This is a good idea.&amp;nbsp;&amp;nbsp;For desktops, rotation would be trivial since CPUs can easily support it.&amp;nbsp;&amp;nbsp;For mobile devices, however, rotation is far more expensive in terms of CPU use.&amp;nbsp;&amp;nbsp;I believe that rotation for Bitmap images on the Compact Framework was completely removed because of this.&amp;nbsp;&amp;nbsp;As a result, the concept of &amp;quot;track-up navigation&amp;quot; is expensive for all mobile devices.&lt;br /&gt;&lt;br /&gt;We're waiting for Intel to solve the silicon heat problems so that we can see the CPU speed of mobile devices dramatically improve and catch up with desktops.&amp;nbsp;&amp;nbsp;They're still using silicon in their next-gen chips, but apparently a better insulator.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;So, for desktops I think this is reasonable since we can calculate bearing by comparing the current location with the previous one, but it's likely this would not be supported on the CF until CPU speeds are nearly double what they are now (and reach around 1GHz).&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, August 25, 2008 at 10:02:30 PM by Olle Pettersson&lt;/b&gt;&lt;p&gt;I was wondering if it could be supported on the Compact Framework as well, if there are no images that needs to be rotated in the Map Control? then the case would be that you have only vector data in the Map.&lt;br /&gt;&lt;br /&gt;Perhaps is could be left in and throw a NotSupported exception if you try to follow a marker on top of a map containing images. Just as it does now when trying to rotate a map with images in it.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, March 17, 2009 at 9:39:17 AM by Phil Smith&lt;/b&gt;&lt;p&gt;Added &amp;quot;FollowBearingUp()&amp;quot; to the map control. Works similar to &amp;quot;Follow()&amp;quot; except that the map rotates to the bearing derived from the markers current and previous position.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue117.aspx</link><pubDate>Tue, 17 Mar 2009 09:39:17 GMT</pubDate></item><item><title>Issue #257 (Behavior Is By Design): How to determine the COM: port of a GPS device</title><description>&lt;b&gt;Thursday, March 12, 2009 at 5:23:40 AM by  &lt;/b&gt;&lt;p&gt;I wan to find out that in which Comport my Gps device is Connecting.My GPS device is Windows CE and Im using .net Compact framework 3.5&lt;br /&gt;Please help me to find out the Com Port of that device.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, March 12, 2009 at 5:25:24 AM by  &lt;/b&gt;&lt;p&gt;How to detect the Com port Automatically??&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, March 15, 2009 at 6:19:27 PM by Jon Person&lt;/b&gt;&lt;p&gt;GPS.NET is designed to automatically search for and use a serial-based, NMEA-compliant GPS device.&amp;nbsp;&amp;nbsp;The best way to get information about GPS devices on the system is via the GeoFramework.IO.Devices static (shared) class.&amp;nbsp;&amp;nbsp;This class exposes information about detected GPS devices and can also control the detection process itself.&amp;nbsp;&amp;nbsp;The Device class is used to provide information about devices.&amp;nbsp;&amp;nbsp;Other classes build upon this class; namely SerialDevice.&amp;nbsp;&amp;nbsp;Look at the GeoFramework.IO.Devices.GpsDevices collection.&amp;nbsp;&amp;nbsp;You should see one or more SerialDevice objects once detection has completed (assuming your device is powered on and detectable).&amp;nbsp;&amp;nbsp;You can then examine the CommunicationPort property to find the port.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue257.aspx</link><pubDate>Sun, 15 Mar 2009 18:19:27 GMT</pubDate></item><item><title>Issue #254 (Behavior Is By Design): "Device is not connected" error when launching examples.</title><description>&lt;b&gt;Tuesday, March 03, 2009 at 11:03:22 AM by  &lt;/b&gt;&lt;p&gt;I have downloded trial versions of GPS.Net 2.0 and GIS.NET 3.0. I have registered the trial version as well. It was a tedious procedure thro' your web-site. I don't know whether the trial version is activated or not.&lt;br /&gt;&lt;br /&gt;Now if I launch any VB.NET examples, the Pocket PC 2003 device gets launched and later on I get error message as Device is not connected.&lt;br /&gt;&lt;br /&gt;I am unable to check Geoframeworks tools. Pls assist.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, March 05, 2009 at 7:30:01 PM by Jon Person&lt;/b&gt;&lt;p&gt;The trial license key system works by associating license keys with your IP address.&amp;nbsp;&amp;nbsp;When you go to http://www.geoframeworks.com/FreeTrial.aspx it will tell you how much time you have left on your trial(s), and whether you can activate or extend any more trial license keys.&lt;br /&gt;&lt;br /&gt;The specific error you mention sounds like a problem related to ActiveSync or mobile device support in Visual Studio.&amp;nbsp;&amp;nbsp;Do you have a real, newer mobile device such as Windows Mobile 5 to test with?&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue254.aspx</link><pubDate>Thu, 05 Mar 2009 19:30:01 GMT</pubDate></item><item><title>Issue #253 (Behavior Is By Design): GIS.NET Tileset Assistant (C#) throws an exception</title><description>&lt;b&gt;Saturday, February 28, 2009 at 11:02:11 AM by  &lt;/b&gt;&lt;p&gt;Tileset Assistant is unmodified, except for the project being converted to VS2008.&lt;br /&gt;&lt;br /&gt;When trying to import some of the sample shapefiles, I get &amp;quot;Cross-thread operation not valid: Control 'chooseGeographicAreaMap' accessed from a thread other than the thread it was created on.&amp;quot; in WizardForm::PermanentItems_Loaded() on the &amp;quot;chooseGeographicAreaMap.ZoomToFit()&amp;quot; instruction.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, March 05, 2009 at 7:39:42 PM by Jon Person&lt;/b&gt;&lt;p&gt;This sounds like an older issue which was resolved in a more recent build.&amp;nbsp;&amp;nbsp;Specifically, we noticed that the navigation methods such as ZoomToFit() were reading properties which required thread-marshaling.&amp;nbsp;&amp;nbsp;For example *reading* the Size property of a Form cannot be multithreaded.&amp;nbsp;&amp;nbsp;We've cached common Form variables to escape from the (lame) single-threaded model and resolve this error.&lt;br /&gt;&lt;br /&gt;Let's try updating to the latest build.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue253.aspx</link><pubDate>Thu, 05 Mar 2009 19:39:42 GMT</pubDate></item><item><title>Issue #255 (Released): Tileset Configuration file parsing of map extent is not culture-independent</title><description>&lt;b&gt;Wednesday, March 04, 2009 at 3:35:15 AM by João Saraiva&lt;/b&gt;&lt;p&gt;This is similar to issue 247 (https://secure.geoframeworks.com/Secured/ViewIssue247.aspx). When parsing of the Tileset configuration file (at least on the PocketPC), the deserialization of the tileset's extent is still using the current locale. For example, the following excerpt (greater than and lesser than characters removed because of ASP.NET) of the &amp;quot;_Tileset Configuration.xml&amp;quot; (using the WGS84/UTM29N zone) will yield a _very_ big extent, when that extent should actually be of only a few square klicks:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;geoframework:dataExtent 564.1093,-4649.679,569.9694,-4646.772 /geoframework:dataExtent&lt;br /&gt;&amp;nbsp;&amp;nbsp;geoframework:coverageExtent 561.062,-4650.6,571.7285,-4644.2 /geoframework:coverageExtent&lt;br /&gt;&lt;br /&gt;(this tileset config file was generated in a desktop pc with Portuguese localization, so this file's generation is culture-independent, as it should be :-) ).&lt;br /&gt;&lt;br /&gt;If one tries to load this is an English-localized system, this works fine, as the dot is the expected separator between the integer and fractional parts of the rectangle's corners. However, if we change the device's localization to Portuguese (or, I suppose, any other language in which that separator is a comma), the parsed rectangle will be huge. The most immediate consequence of this is that the map/tileset will not be displayed (likely because it is too tiny, in the context of the parsed extent).&lt;br /&gt;This is not a show-stopper bug, but it can impact the framework's usefulness in non-English-localized systems.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Jo&amp;#227;o Saraiva&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, March 05, 2009 at 2:02:17 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Added culture invariance to numeric parsing in the tileset configuration.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue255.aspx</link><pubDate>Thu, 05 Mar 2009 14:02:17 GMT</pubDate></item><item><title>Issue #250 (Behavior Is By Design): Can't directly create GeoTiff from Image and coordinates</title><description>&lt;b&gt;Saturday, February 21, 2009 at 10:29:37 PM by Ryan Dotson&lt;/b&gt;&lt;p&gt;Similar to Issue #81, I have an Image and a set of coordinates that I would like to use to create a GeoTiff to add to a map.&lt;br /&gt;&lt;br /&gt;The CreateTo() methods all must output the image to a stream or to a file.&amp;nbsp;&amp;nbsp;Writing the tiff to a MemoryStream and reading it back in works, but is not efficient.&lt;br /&gt; &lt;br /&gt;I would just like to use the loaded image a la:&lt;br /&gt;&lt;br /&gt;GeoTiff tiff = new GeoTiff(Image, GeoTiffKeySummary);&lt;br /&gt;&lt;br /&gt;The documentation references a GeoTiff.Create() method which I think would work but it does not appear to exist anymore...&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, February 23, 2009 at 1:17:41 PM by Phil Smith&lt;/b&gt;&lt;p&gt;GDI+ doesn't support adding new property items directly. There is a work around for this, but it makes the Image object unwritable using GDI+ Image.Save() methods. I believe this is because the defaultTIFF encoder does not recognize or account for the the GeoTiff tags. In any case, I'm not sure why you'd want to use a geotiff and not persist it in the first place. All the effort put into tagging the Image object would be lost. If you really need to georeference an image and not persist it, the Picture object is alot simpler to use.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue250.aspx</link><pubDate>Mon, 23 Feb 2009 13:17:41 GMT</pubDate></item><item><title>Issue #243 (Cannot Reproduce): NullReferenceException during Search(PointF)</title><description>&lt;b&gt;Monday, February 16, 2009 at 3:57:47 PM by Jon Person&lt;/b&gt;&lt;p&gt;When testing the &amp;quot;Zooming Form&amp;quot; example for Desktop Framework 3.5, an exception is raised.&amp;nbsp;&amp;nbsp;The call stack is as follows:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.Search(PointF projectedLocation)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.OnMouseClickSearch(Object chezburger)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 19, 2009 at 4:23:26 PM by Jon Person&lt;/b&gt;&lt;p&gt;This is a tough one to reproduce.&amp;nbsp;&amp;nbsp; I've made a note to investigate more thoroughly when I can get it to occur again.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue243.aspx</link><pubDate>Thu, 19 Feb 2009 16:23:26 GMT</pubDate></item><item><title>Issue #218 (Cannot Reproduce): Resources LoadException on Windows Mobile 6.0</title><description>&lt;b&gt;Wednesday, December 17, 2008 at 1:20:20 AM by  &lt;/b&gt;&lt;p&gt;I'm experiencing some odd issues while testing, so after enabling debugging on the device (Windows Mobile 6.0 - CF.Net 3.5), I logged the following LoadExceptions: &lt;br /&gt;&lt;br /&gt;Loading module [\Programmer\PLT2008\da-DK\GeoFramework.PocketPC.resources.exe]&lt;br /&gt;Attempt to load [\Programmer\PLT2008\da-DK\GeoFramework.PocketPC.resources.exe] has failed (err 0x80001001).&lt;br /&gt;Failed to load [GeoFramework.PocketPC.resources, Version=1.4.3600.7, Culture=da-DK, PublicKeyToken=3ED3CDF4FDDA3400]&lt;br /&gt;&lt;br /&gt;Loading module [\Programmer\PLT2008\da\GeoFramework.PocketPC.resources.dll]&lt;br /&gt;Attempt to load [\Programmer\PLT2008\da\GeoFramework.PocketPC.resources.dll] has failed (err 0x80001001).&lt;br /&gt;Failed to load [GeoFramework.PocketPC.resources, Version=1.4.3600.7, Culture=da, PublicKeyToken=3ED3CDF4FDDA3400]&lt;br /&gt;&lt;br /&gt;Note.... GeoFramework.PocketPC.dll - version 1.4.50727.7&lt;br /&gt;&lt;br /&gt;Please advice?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, February 16, 2009 at 9:20:17 PM by Jon Person&lt;/b&gt;&lt;p&gt;It's unusual that there'd be any search for resources using the local culture.&amp;nbsp;&amp;nbsp;It's possible this could be a natural part of searching for resources.&amp;nbsp;&amp;nbsp;Is this an exception which halts execution?&amp;nbsp;&amp;nbsp;Or just a first-chance exception?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 19, 2009 at 2:05:03 PM by Jon Person&lt;/b&gt;&lt;p&gt;The version number you have suggests an older assembly.&amp;nbsp;&amp;nbsp;We should update you to the latest build.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue218.aspx</link><pubDate>Thu, 19 Feb 2009 14:05:03 GMT</pubDate></item><item><title>Issue #244 (Behavior Is By Design): Unable to load Countries.shp in Visual Studio 2005</title><description>&lt;b&gt;Thursday, February 19, 2009 at 4:20:37 PM by Jon Person&lt;/b&gt;&lt;p&gt;&amp;quot;An exception occurs when I run the .NET 2.0 example in VS 2005. It blows when it tries to load Countries.shp.&amp;quot;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 19, 2009 at 4:21:07 PM by Jon Person&lt;/b&gt;&lt;p&gt;I was unable to reproduce this issue on any platform.&amp;nbsp;&amp;nbsp;Countries.shp loads properly.&amp;nbsp;&amp;nbsp; It's possible that the target machine does not have enough RAM to load the over 3 million points used in the example.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue244.aspx</link><pubDate>Thu, 19 Feb 2009 16:21:07 GMT</pubDate></item><item><title>Issue #246 (Behavior Is By Design): On My PDA, when i zoom, i disable some buttons, then the buttons are re-enabled. seconds later, my tiles appear</title><description>&lt;b&gt;Tuesday, February 17, 2009 at 1:55:02 PM by Phil Marks&lt;/b&gt;&lt;p&gt;i'm trying to disable some buttons on my form until the full map shows up.&amp;nbsp;&amp;nbsp;But the code goes right past the zoom and re-enables the buttons a second or so before the tiles appear.&amp;nbsp;&amp;nbsp;This is confusing for the user, who should not be hitting buttons or zooming again until the tiles are shown.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 19, 2009 at 4:17:31 PM by Jon Person&lt;/b&gt;&lt;p&gt;More via Phil:&amp;nbsp;&amp;nbsp;&amp;quot;On My PDA, when i zoom, i disable some buttons, then the buttons are re-enabled. seconds later, my tiles appear&amp;quot;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 19, 2009 at 4:20:00 PM by Jon Person&lt;/b&gt;&lt;p&gt;The Map control can be a multithreaded control.&amp;nbsp;&amp;nbsp;This design allows intense map operations to be performed without blocking the host application.&amp;nbsp;&amp;nbsp;As a result, however, work must be performed to synchronize the map with functions in your application. &lt;br /&gt;&lt;br /&gt;Lets try hooking into the &amp;quot;CurrentProjectedExtentChanged&amp;quot; event.&amp;nbsp;&amp;nbsp;This event is called whenever the visible area of the Map has changed, and it's called after a paint operation.&amp;nbsp;&amp;nbsp;Use this event to re-enable your buttons and that should give you the behavior you're looking for.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue246.aspx</link><pubDate>Thu, 19 Feb 2009 16:20:00 GMT</pubDate></item><item><title>Issue #247 (Released): WorldFile parsing does not ignore current culture</title><description>&lt;b&gt;Thursday, February 19, 2009 at 7:17:34 AM by João Saraiva&lt;/b&gt;&lt;p&gt;When parsing a WorldFile, the Decimal.Parse method should be invoked using the InvariantCulture. Otherwise, something that would be a valid UTM coordinate will be considered invalid if the current PC's culture does not use . as a separator between the integer and fraction parts.&lt;br /&gt;&lt;br /&gt;E.g.:&lt;br /&gt;&lt;br /&gt;The world file:&lt;br /&gt;&lt;br /&gt;2.1403229999999871&lt;br /&gt;0&lt;br /&gt;0&lt;br /&gt;-2.1403229999999258&lt;br /&gt;564109.20263558044&lt;br /&gt;4649678.3586806776&lt;br /&gt;&lt;br /&gt;will yield an &amp;quot;empty&amp;quot; rectangle if the current PC is set to Portuguese localization.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Jo&amp;#227;o Saraiva&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue247.aspx</link><pubDate>Thu, 19 Feb 2009 07:17:34 GMT</pubDate></item><item><title>Issue #248 (Released): MissingMethodException on Compact Framework 2.0 when initializing Tileset</title><description>&lt;b&gt;Thursday, February 19, 2009 at 1:58:48 PM by Jon Person&lt;/b&gt;&lt;p&gt;A MissingMethodException occurs when attempting to open a tileset using Compact Framework 2.0.&amp;nbsp;&amp;nbsp;This appears to happen during the static constructor for Tileset, and is not related to licensing.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 19, 2009 at 1:59:31 PM by Jon Person&lt;/b&gt;&lt;p&gt;The default namespace for the GIS.NET Framework CF20 project was incorrect.&amp;nbsp;&amp;nbsp;It was &amp;quot;GeoFramework&amp;quot; but should have been &amp;quot;GeoFramework.Shapes&amp;quot;.&amp;nbsp;&amp;nbsp;This discrepancy caused a failure to load resources used by the Tileset class.&amp;nbsp;&amp;nbsp;This has been resolved, and a new build has begun.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue248.aspx</link><pubDate>Thu, 19 Feb 2009 13:59:31 GMT</pubDate></item><item><title>Issue #214 (Released): GPS Intermediate Driver Registry Analysis Project</title><description>&lt;b&gt;Monday, December 08, 2008 at 5:53:55 PM by Jon Person&lt;/b&gt;&lt;p&gt;In order to improve the GPS Intermediate Driver support for GPS.NET 3.0, I'd like to solicit the help of you, and the whole development community here.&amp;nbsp;&amp;nbsp;Specifically, there are a number of devices with proprietary registry structures, such as the AT&amp;amp;T Tilt, the HTC TyTn II, and the Samsung Omina.&amp;nbsp;&amp;nbsp;I would like to get a registry dump from users to help me with understanding and accommodate the varying structures.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I'd love your feedback on this.&amp;nbsp;&amp;nbsp;Here's how to help:&lt;br /&gt;&lt;br /&gt;1) Download the &amp;quot;Mobile Registry Editor&amp;quot; utility from here: http://mobile-registry-editor.en.softonic.com/pocketpc.&amp;nbsp;&amp;nbsp;This utility will let you access the registry of your cradled device.&amp;nbsp;&amp;nbsp;&lt;br /&gt;2) Navigate to HKLM\System\CurrentControlSet\GPS Intermediate Driver&lt;br /&gt;3) Export the entire branch to a text file.&amp;nbsp;&amp;nbsp;Don't worry, there's nothing personally identifying.&lt;br /&gt;4) Post the contents as a response to this issue for all of us to take a look at.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, December 12, 2008 at 3:08:38 PM by Jon Person&lt;/b&gt;&lt;p&gt;HTC Kaiser / AT&amp;amp;T Tilt &lt;br /&gt;&lt;br /&gt;REGEDIT4&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver]&lt;br /&gt;&amp;quot;OldLogFile&amp;quot;=&amp;quot;\windows\GPSLogFileBack.txt&amp;quot;&lt;br /&gt;&amp;quot;CurrentLogFile&amp;quot;=&amp;quot;\windows\GPSLogFile.txt&amp;quot;&lt;br /&gt;&amp;quot;IsEnabled&amp;quot;=dword:00000001&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer]&lt;br /&gt;&amp;quot;DriverInterface&amp;quot;=&amp;quot;COM4:&amp;quot;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer\ActiveDevice]&lt;br /&gt;&amp;quot;Index&amp;quot;=dword:00000004&lt;br /&gt;&amp;quot;Prefix&amp;quot;=&amp;quot;COM&amp;quot;&lt;br /&gt;&amp;quot;Context&amp;quot;=dword:12344160&lt;br /&gt;&amp;quot;Flags&amp;quot;=dword:00000002&lt;br /&gt;&amp;quot;Keep&amp;quot;=dword:00000001&lt;br /&gt;&amp;quot;Dll&amp;quot;=&amp;quot;GPSID_QCT.dll&amp;quot;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers]&lt;br /&gt;&amp;quot;SleepOnNoData&amp;quot;=dword:000003e8&lt;br /&gt;&amp;quot;RetryWaitOnError&amp;quot;=dword:00000003&lt;br /&gt;&amp;quot;OutputBufferSize&amp;quot;=dword:00001000&lt;br /&gt;&amp;quot;InputBufferSize&amp;quot;=dword:00001000&lt;br /&gt;&amp;quot;CurrentDriver&amp;quot;=&amp;quot;GPSOneDevice&amp;quot;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\GPSOneDevice]&lt;br /&gt;&amp;quot;Version&amp;quot;=dword:00000001&lt;br /&gt;&amp;quot;PollInterval&amp;quot;=dword:000001f4&lt;br /&gt;&amp;quot;DriverName&amp;quot;=&amp;quot;TAI&amp;quot;&lt;br /&gt;&amp;quot;FriendlyName&amp;quot;=&amp;quot;QualComm GpsOne Card, version 0.0&amp;quot;&lt;br /&gt;&amp;quot;InterfaceType&amp;quot;=&amp;quot;POLL&amp;quot;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\GPSOneEmulate]&lt;br /&gt;&amp;quot;Filex&amp;quot;=&amp;quot;\windows\GPSOneFileSimulation.txt&amp;quot;&lt;br /&gt;&amp;quot;FriendlyName&amp;quot;=&amp;quot;QualComm GpsOne File, version 0.0&amp;quot;&lt;br /&gt;&amp;quot;InterfaceType&amp;quot;=&amp;quot;File&amp;quot;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\GPSOnePort]&lt;br /&gt;&amp;quot;CommPort&amp;quot;=&amp;quot;COM1:&amp;quot;&lt;br /&gt;&amp;quot;FriendlyName&amp;quot;=&amp;quot;QualComm GpsOne Card, version 0.0&amp;quot;&lt;br /&gt;&amp;quot;InterfaceType&amp;quot;=&amp;quot;COMM&amp;quot;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, December 12, 2008 at 3:08:54 PM by Jon Person&lt;/b&gt;&lt;p&gt;Intermec CN3&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver]&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer]&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer\ActiveDevice]&lt;br /&gt;&amp;quot;Context&amp;quot;=dword:12344160&lt;br /&gt;&amp;quot;Flags&amp;quot;=dword:00000002&lt;br /&gt;&amp;quot;Keep&amp;quot;=dword:00000001&lt;br /&gt;&amp;quot;Dll&amp;quot;=&amp;quot;GPSID.dll&amp;quot;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers]&lt;br /&gt;&amp;quot;CurrentDriver&amp;quot;=&amp;quot;Control Panel Configured Device&amp;quot;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\IntermecSiRF3]&lt;br /&gt;&amp;quot;Baud&amp;quot;=dword:0000e100&lt;br /&gt;&amp;quot;InterfaceType&amp;quot;=&amp;quot;COMM&amp;quot;&lt;br /&gt;&amp;quot;CommPort&amp;quot;=&amp;quot;COM3:&amp;quot;&lt;br /&gt;&amp;quot;FriendlyName&amp;quot;=&amp;quot;Internal SiRF3&amp;quot;&lt;br /&gt;&amp;quot;PlugIn&amp;quot;=&amp;quot;SiRF3gps.dll&amp;quot;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\Control Panel Configured Device]&lt;br /&gt;&amp;quot;Baud&amp;quot;=dword:0000e100&lt;br /&gt;&amp;quot;InterfaceType&amp;quot;=&amp;quot;COMM&amp;quot;&lt;br /&gt;&amp;quot;CommPort&amp;quot;=&amp;quot;COM3:&amp;quot;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, February 17, 2009 at 5:17:59 PM by Jon Person&lt;/b&gt;&lt;p&gt;I am pleased to report that the Samsung Omina and HTC devices are now working flawlessly with GPS 3.0 code.&amp;nbsp;&amp;nbsp;I will be targeting April 2009 for release.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, February 17, 2009 at 5:35:11 PM by Jon Person&lt;/b&gt;&lt;p&gt;(This affects all devices using Qualcomm or Samsung GPS chipsets.)&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue214.aspx</link><pubDate>Tue, 17 Feb 2009 17:35:11 GMT</pubDate></item><item><title>Issue #238 (Released): I can't load the Tileset example for the Compact Framework (some XML elements appear to be missing)</title><description>&lt;b&gt;Friday, February 13, 2009 at 4:13:40 AM by João Saraiva&lt;/b&gt;&lt;p&gt;Hi!&lt;br /&gt;&lt;br /&gt;I've recently begun evaluating GIS.NET 3.0 for use in a PDA application (.NET Compact Framework) that we are developing. Your approach to Tilesets really seems to hit the jackpot regarding the OOM exceptions that plague the .NET CF :-) .&lt;br /&gt;&lt;br /&gt;However, I am unable to successfully run your example for the CF. Although the program itself is fine, the Tileset constructor bombs because it cannot find some XML elements in the _Tileset Configuration.xml file. More precisely, the exception thrown is:&lt;br /&gt;&lt;br /&gt;Example.exe&lt;br /&gt;ArgumentOutOfRangeException&lt;br /&gt;Tileset extents cannot be empty.&lt;br /&gt;Parameter name: CoverageExtent, DataExtent&lt;br /&gt;&lt;br /&gt;at GeoFramework.Shapes.TilesetConfiguration.Validate()&lt;br /&gt;at GeoFramework.Shapes.TilesetConfiguration.Open()&lt;br /&gt;at GeoFramework.Shapes.TilesetConfiguration.Initialize()&lt;br /&gt;at GeoFramework.Shapes.Tileset..ctor()&lt;br /&gt;at SmartDeviceProject3.Form1..ctor()&lt;br /&gt;at SmartDeviceProject3.Program.Main()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The contents of the XML file are (tags are removed to avoid ASP.NET exception):&lt;br /&gt;&lt;br /&gt;&amp;amp;lt;geoframework:tileset xmlns:geoframework=&amp;quot;http://www.geoframeworks.com/gml&amp;quot;&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;amp;lt;!--Generated by GIS.NET version 3.0 (http://www.geoframeworks.com)--&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:projection geoframework:type=&amp;quot;GeoFramework.Projections.Orthographic&amp;quot;&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:transverseLatitude&amp;amp;gt;0&amp;amp;lt;/geoframework:transverseLatitude&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:firstStandardParallel&amp;amp;gt;0&amp;amp;lt;/geoframework:firstStandardParallel&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:secondStandardParallel&amp;amp;gt;0&amp;amp;lt;/geoframework:secondStandardParallel&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:centerLatitude&amp;amp;gt;39.204887527777778&amp;amp;lt;/geoframework:centerLatitude&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:centerLongitude&amp;amp;gt;-104.207874&amp;amp;lt;/geoframework:centerLongitude&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:falseEasting&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;Units&amp;amp;gt;Centimeters&amp;amp;lt;/Units&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;Value&amp;amp;gt;0&amp;amp;lt;/Value&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;/geoframework:falseEasting&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:falseNorthing&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;Units&amp;amp;gt;Centimeters&amp;amp;lt;/Units&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;Value&amp;amp;gt;0&amp;amp;lt;/Value&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;/geoframework:falseNorthing&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:scale&amp;amp;gt;1&amp;amp;lt;/geoframework:scale&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:azimuth&amp;amp;gt;0&amp;amp;lt;/geoframework:azimuth&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:ellipsoidEpsgNumber&amp;amp;gt;7052&amp;amp;lt;/geoframework:ellipsoidEpsgNumber&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:allowOverrange&amp;amp;gt;False&amp;amp;lt;/geoframework:allowOverrange&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;amp;lt;/geoframework:projection&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:isFrozen&amp;amp;gt;False&amp;amp;lt;/geoframework:isFrozen&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:earliestTile&amp;amp;gt;2008-07-08T13:36:30&amp;amp;lt;/geoframework:earliestTile&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;amp;lt;geoframework:files&amp;amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;... (not relevant, I think)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;amp;lt;/geoframework:files&amp;amp;gt;&lt;br /&gt;&amp;amp;lt;/geoframework:tileset&amp;amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It seems the XML file is missing some info (namely &amp;quot;coverageExtent&amp;quot; and &amp;quot;dataExtent&amp;quot;). Am I correct? If so, could you please post a new XML file, so that I can check whether your Tileset solution will work well in our deployment environment?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Jo&amp;#227;o Saraiva&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;P.S.: Just a suggestion :-) : you should use javascript to encode the issue's text. Otherwise, users may see the typical ASP.NET yellow screen indicating that a dangerous value was submitted (in this case, the XML file contents).&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, February 16, 2009 at 9:10:03 PM by Jon Person&lt;/b&gt;&lt;p&gt;This issue is now resolved.&amp;nbsp;&amp;nbsp;Tilesets were rebuilt using the new Tileset Generator and tested on CF20 and CF35 for both C# and VB.NET.&amp;nbsp;&amp;nbsp;A new download will be necessary: http://www.geoframeworks.com/DownloadProducts.aspx&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue238.aspx</link><pubDate>Mon, 16 Feb 2009 21:10:03 GMT</pubDate></item><item><title>Issue #235 (Released): Map collection methods should affect perment items, movable items, and decorations</title><description>&lt;b&gt;Tuesday, February 10, 2009 at 2:20:17 PM by Jon Person&lt;/b&gt;&lt;p&gt;Collection methods inside of the Map control appear to affect only permanent items.&amp;nbsp;&amp;nbsp;Methods such as Add, Remove, and Clear should affect all three kinds of object collections: permanent items, movable items and decorations.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, February 10, 2009 at 3:21:42 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Clear and Remove methods now affect the Decorations collection.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue235.aspx</link><pubDate>Tue, 10 Feb 2009 15:21:42 GMT</pubDate></item><item><title>Issue #237 (Released): Area, Length and Perimeter calculation methods aren't working correctly</title><description>&lt;b&gt;Tuesday, February 10, 2009 at 3:21:02 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Length, ArcLength (Line object), Area, ArcArea, Perimiter and ArcPerimeter (Polygon object) properties had some issues with their calculations that lead to some inordinate results. The net goal of these properties is for approxomations only. the &amp;quot;Arc&amp;quot; versions of these properties use meridinal distances and are considered more accurate, but slighty slower in performance.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue237.aspx</link><pubDate>Tue, 10 Feb 2009 15:21:02 GMT</pubDate></item><item><title>Issue #234 (Released): Exception when adding an object to a selection.</title><description>&lt;b&gt;Friday, February 06, 2009 at 10:55:50 AM by Ryan Dotson&lt;/b&gt;&lt;p&gt;I have a background thread updating the Location property of a class derived from Vehicle.&lt;br /&gt;This works fine with the rendering, but if you drag a selection over the object, an &amp;quot;Parameter is not valid&amp;quot; exception is thrown from GDI+.&lt;br /&gt;&lt;br /&gt;I have narrowed the problem down to a threadig issue by adding an OnTimer event to the control containing the Map and updating the Marker.location there. (This fixes the problem, but is not a preferred solution).&amp;nbsp;&amp;nbsp;It seems like if the rendering is thread-safe, then the selection functionality should be too.&amp;nbsp;&amp;nbsp;Is there a synchronization object that should be used for updating a geographic object's location?&lt;br /&gt;&lt;br /&gt;A stack trace is below:&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Drawing.Drawing2D.GraphicsPath.AddPath(GraphicsPath addingPath, Boolean connect)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.Decorations.Selection.Select(IList`1 items)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.OnMouseUpSelect(Object mouseEventArgs)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.OnMouseUp(MouseEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.Run(Form mainForm)&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, February 06, 2009 at 2:15:51 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Ryan, thanks for the detailed bug report.&amp;nbsp;&amp;nbsp;We use a synchronization object internally to ensure that a GraphicsPath is only accessed by one thread at a time.&amp;nbsp;&amp;nbsp;However, this object was marked as &amp;quot;protected&amp;quot; since we didn't want novice developers to get themselves into hanging issues.&amp;nbsp;&amp;nbsp;I've fixed this problem my changing the syncroot from &amp;quot;protected&amp;quot; to &amp;quot;internal&amp;quot; and it is now locked by the Selection object whenever a geographic object is being added to the selection.&amp;nbsp;&amp;nbsp; This will have slight performance implications when selecting hundreds of shapes.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue234.aspx</link><pubDate>Fri, 06 Feb 2009 14:15:51 GMT</pubDate></item><item><title>Issue #233 (Released): null exception when adding Cache</title><description>&lt;b&gt;Thursday, February 05, 2009 at 9:20:06 PM by  &lt;/b&gt;&lt;p&gt;I'm evaluating GIS.Net with a trail version.&lt;br /&gt;Downloaded installer and installed it.&lt;br /&gt;Created new VS 2008 Windows Application.&lt;br /&gt;Generated Key. Copied sources code for both Program.Main() and AssemblyInfo.cs&lt;br /&gt;Drag and Dropped a Map object from toolbox into new Form.&lt;br /&gt;Added following code.&lt;br /&gt;&lt;br /&gt;Null exception when adding Cache.&lt;br /&gt;&lt;br /&gt;Example code:&lt;br /&gt;&lt;br /&gt;public Form1()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InitializeComponent(); // Designer code with map1 = Map object&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cache cache = new Cache();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map1.Add(cache); // Causes exception here&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map1.Add(new Compass());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 05, 2009 at 10:30:38 PM by  &lt;/b&gt;&lt;p&gt;Exception details&lt;br /&gt;&lt;br /&gt;System.NullReferenceException was unhandled&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;Object reference not set to an instance of an object.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Source=&amp;quot;GeoFramework.Gis&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.ReTransformContexts()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.OnAfterAddItem(GeographicObject item)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.Add(GeographicObject item)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Form1..ctor() in C:\Users\USER\Documents\Visual Studio 2008\Projects\GeoFramework\GeoFramework\Form1.cs:line 19&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Program.Main() in C:\Users\USER\Documents\Visual Studio 2008\Projects\GeoFramework\GeoFramework\Program.cs:line 36&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ThreadHelper.ThreadStart_Context(Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ThreadHelper.ThreadStart()&lt;br /&gt;&amp;nbsp;&amp;nbsp;InnerException:&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, February 05, 2009 at 11:03:29 PM by  &lt;/b&gt;&lt;p&gt;Exception details&lt;br /&gt;&lt;br /&gt;System.NullReferenceException was unhandled&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;Object reference not set to an instance of an object.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Source=&amp;quot;GeoFramework.Gis&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.ReTransformContexts()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.OnAfterAddItem(GeographicObject item)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.Add(GeographicObject item)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Form1..ctor() in C:\Users\USER\Documents\Visual Studio 2008\Projects\GeoFramework\GeoFramework\Form1.cs:line 19&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Program.Main() in C:\Users\USER\Documents\Visual Studio 2008\Projects\GeoFramework\GeoFramework\Program.cs:line 36&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ThreadHelper.ThreadStart_Context(Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ThreadHelper.ThreadStart()&lt;br /&gt;&amp;nbsp;&amp;nbsp;InnerException:&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, February 06, 2009 at 9:28:09 AM by Phil Smith&lt;/b&gt;&lt;p&gt;The VS design behavior seems to affect the order of events. For instance, dropping a control on a form then running the application will not generate a resize event, while adjusting the size of the control in the form designer, then running the application will. A fix in is place that considers this inconsistancy and will be available in the next build. In the mean time, simply resizing the Map control in the form designer should serve as a workaround.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue233.aspx</link><pubDate>Fri, 06 Feb 2009 09:28:09 GMT</pubDate></item><item><title>Issue #232 (Released): Pan and Zoom methods sometimes cause NotSupportedException on the CF</title><description>&lt;b&gt;Monday, February 02, 2009 at 7:05:31 PM by Jon Person&lt;/b&gt;&lt;p&gt;The ZoomTo() method of the Map control in GIS.NET 3.0 will occasionally throw a NotSupportedException.&amp;nbsp;&amp;nbsp;This can occur if the ZoomTo method is called from a thread other than the Form's own thread.&amp;nbsp;&amp;nbsp;The problem appears to be a call to read the &amp;quot;Size&amp;quot; property of the Map.&amp;nbsp;&amp;nbsp;The Size property should be cached.&amp;nbsp;&amp;nbsp;(Invoking a call just to read a Size property is overhead which quickly adds up on the painfully slow CF.)&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue232.aspx</link><pubDate>Mon, 02 Feb 2009 19:05:31 GMT</pubDate></item><item><title>Issue #164 (Released): Request for an Improved Tileset Generator</title><description>&lt;b&gt;Tuesday, September 30, 2008 at 10:43:21 AM by  &lt;/b&gt;&lt;p&gt;I have been playing around with generating Tilesets on the desktop framework and then using them on the compact framework.&amp;nbsp;&amp;nbsp;That all works very nicely.&amp;nbsp;&amp;nbsp;I was wondering is there a quick way to generate the full Tileset for the entire map?&amp;nbsp;&amp;nbsp;I noticed that when I zoom in, the desktop framework only generates the tiles for the area I am looking at.&amp;nbsp;&amp;nbsp;When I pan, then it creates some more.&amp;nbsp;&amp;nbsp;I would like to be able to generate all the tiles at one go.&amp;nbsp;&amp;nbsp;Is that what the TilesetGenerator class is supposed to do (mentioned in issue#88 - How do we make tilesets)?&amp;nbsp;&amp;nbsp;And if yes, which namespace is it in?&amp;nbsp;&amp;nbsp;Thanks.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, October 09, 2008 at 9:54:18 PM by Jon Person&lt;/b&gt;&lt;p&gt;The TilesetGenerator was originally intended to generate full tilesets, yes.&amp;nbsp;&amp;nbsp;But, since we improved the Tileset class to generate, load, and save tiles asynchronously, the function of generating tiles merged into the Tileset class.&amp;nbsp;&amp;nbsp; Now, the &amp;quot;Generate&amp;quot; method can be used to request that a tile be generated.&lt;br /&gt;&lt;br /&gt;A development challenge remains, which is still under development.&amp;nbsp;&amp;nbsp;The initial tileset generator loaded ALL data, which worked fine until people started loading massive amounts of data.&amp;nbsp;&amp;nbsp;As a result, we want to design the generator to be able to load and render tiles one layer at a time.&amp;nbsp;&amp;nbsp;This takes a lot more time to develop since we must be able to intelligently work with available memory while not taking over the host application.&lt;br /&gt;&lt;br /&gt;So, for now, the new methods in Tileset are the means of generating a tileset in an automated fashion.&amp;nbsp;&amp;nbsp;We'll be improving this to be more intuitive, and our goal is to let developers start a generation task which can run overnight.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:43:11 PM by Jon Person&lt;/b&gt;&lt;p&gt;I still have automatic generation in my to-do list.&amp;nbsp;&amp;nbsp;The real showstopper right now is detecting how much memory the class is allowed to play with and working within those means to avoid OutOfMemoryException errors.&amp;nbsp;&amp;nbsp;I may have to produce an interim solution that assumes all data files will load into memory at once just to get people moving forward.&amp;nbsp;&amp;nbsp;This would work well on 64-bit machines, at least.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, January 22, 2009 at 12:36:06 PM by Phil Smith&lt;/b&gt;&lt;p&gt;A fully funtional tileset generator is now part of GIS.NET 3.0. An application wizard will be included to assist developers with rapid creation of tilesets. The application will be deployed in the next release of GIS.NET 3.0 as source code that can be compiled and redistributed as per our existing licensing arrangements as well as the GNU General Public License.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue164.aspx</link><pubDate>Thu, 22 Jan 2009 12:36:06 GMT</pubDate></item><item><title>Issue #212 (Released): Ability to call ZoomToFit() after loading aTileset</title><description>&lt;b&gt;Monday, December 08, 2008 at 12:56:11 PM by Jon Person&lt;/b&gt;&lt;p&gt;Right now, when a Tileset is created, it's extent is as large as the entire Earth.&amp;nbsp;&amp;nbsp;Internally, this has its advantages, but for developers, it forces them to have to determine the extent of the view they want to see, then make a call to &amp;quot;ZoomTo&amp;quot; to initialize the map.&amp;nbsp;&amp;nbsp;It would be preferable if developers could make a call to &amp;quot;ZoomToFit()&amp;quot; after opening a Tileset to easily initialize a map.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, December 18, 2008 at 1:18:35 PM by Jon Person&lt;/b&gt;&lt;p&gt;Phil has this implemented nicely as part of the new Tileset Generator being rolled out this week.&amp;nbsp;&amp;nbsp;I'm unassigning myself since Phil's got this done.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, January 22, 2009 at 12:25:36 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Fixed with the tileset generator changes&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue212.aspx</link><pubDate>Thu, 22 Jan 2009 12:25:36 GMT</pubDate></item><item><title>Issue #231 (Released): IList implementation in the Map control is incomplete</title><description>&lt;b&gt;Thursday, January 22, 2009 at 11:11:51 AM by Phil Smith&lt;/b&gt;&lt;p&gt;Som methonds/properties were ommited from the IList implementation in the Map control.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, January 22, 2009 at 12:25:10 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Add(), Remove, and InsertAt members of the IList interface are now fully finctional.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue231.aspx</link><pubDate>Thu, 22 Jan 2009 12:25:10 GMT</pubDate></item><item><title>Issue #224 (Released): Address deserialization issues of remaining projections.</title><description>&lt;b&gt;Monday, December 29, 2008 at 9:33:28 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The following projections require special attention to properly deserialize.&lt;br /&gt;&lt;br /&gt;AzimuthalEquidistant&lt;br /&gt;Krovak&lt;br /&gt;ObliqueMercator&lt;br /&gt;ObliqueTransformation&lt;br /&gt;SpaceObliqueMercator&lt;br /&gt;TunisiaMiningGrid&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, January 08, 2009 at 9:26:59 AM by Phil Smith&lt;/b&gt;&lt;p&gt;Completed&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue224.aspx</link><pubDate>Thu, 08 Jan 2009 09:26:59 GMT</pubDate></item><item><title>Issue #227 (Released): Copy constructor for Polygon should accept Polygon, not Line</title><description>&lt;b&gt;Monday, January 05, 2009 at 6:31:47 AM by Peter van Rees&lt;/b&gt;&lt;p&gt;The 'copying' constructor of the polygon shape takes a line shape as parameter. This seems a mistake to me, I would expect it to take another polygon.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, January 05, 2009 at 9:58:46 AM by Jon Person&lt;/b&gt;&lt;p&gt;I see the Polygon(Line) constructor and agree it should be Polygon instead.&amp;nbsp;&amp;nbsp;Fixed.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue227.aspx</link><pubDate>Mon, 05 Jan 2009 09:58:46 GMT</pubDate></item><item><title>Issue #225 (Behavior Is By Design): How to Calculate Area in GPS.NET 2.0</title><description>&lt;b&gt;Monday, December 29, 2008 at 10:18:18 PM by  &lt;/b&gt;&lt;p&gt;hai,&lt;br /&gt;&amp;nbsp;&amp;nbsp; I have a requirement of calculating area of a irreugular polygon based on the latitude and longitude.I capture a set of points of an irregular polygon using my GPS enabled PDA. i need to calculate the area of that polygon. Is there any functions in GPS .net 2.0 which suports this. or how can i do this.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, December 30, 2008 at 11:15:02 AM by Jon Person&lt;/b&gt;&lt;p&gt;The PositionCollection class in GPS.NET 2.0 does have an Area and Perimeter property.&amp;nbsp;&amp;nbsp;Add the positions into a PositionCollection.&amp;nbsp;&amp;nbsp;Make sure the first and last objects in the collection are the *same* for a closed polygon.&amp;nbsp;&amp;nbsp;Then read the Area property.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue225.aspx</link><pubDate>Tue, 30 Dec 2008 11:15:02 GMT</pubDate></item><item><title>Issue #223 (Released): Projection XML deserialization is incomplete</title><description>&lt;b&gt;Monday, December 29, 2008 at 9:29:50 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The Initialize() method of all projections need to be overidden to properly deserialize from XML.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 29, 2008 at 9:31:12 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Prjection deserialization as been fixed for all but 6 projections. These will be addressed in a separate issue.&lt;br /&gt;&lt;br /&gt;AzimuthalEquidistant&lt;br /&gt;Krovak&lt;br /&gt;ObliqueMercator&lt;br /&gt;ObliqueTransformation&lt;br /&gt;SpaceObliqueMercator&lt;br /&gt;TunisiaMiningGrid&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue223.aspx</link><pubDate>Mon, 29 Dec 2008 21:31:12 GMT</pubDate></item><item><title>Issue #222 (Behavior Is By Design): Using the "Pens" .NET object doesn't seem to work with Style objects</title><description>&lt;b&gt;Monday, December 29, 2008 at 6:57:32 AM by Peter van Rees&lt;/b&gt;&lt;p&gt;It took me about a day to figure out that a polygon with&lt;br /&gt;&lt;br /&gt;style = UnscaledOutlinedFilledStyle(Pens.DarkGray, Brushes.Red) &lt;br /&gt;&lt;br /&gt;does not get drawn, while one with&lt;br /&gt;&lt;br /&gt;New UnscaledOutlinedFilledStyle(New Pen(Color.DarkGray, 1), Brushes.Red)&lt;br /&gt;&lt;br /&gt;does. I find this pretty unintuitive. Are these two pens different? It would be nice if the first example would just work. If this is somehow not possible maybe an exception can be thrown or something?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 29, 2008 at 9:38:53 AM by Jon Person&lt;/b&gt;&lt;p&gt;Wow, this is interesting.&amp;nbsp;&amp;nbsp;Since the Pens static class is part of the .NET Framework itself, I can only guess as to why its behavior would cause a failure.&amp;nbsp;&amp;nbsp;I am under the belief that any call to &amp;quot;Pens.DarkGray&amp;quot; would return a *new* Pen object, instead of the same object, and that the width of a pen returned from &amp;quot;Pens&amp;quot; would have a width of 1.0.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I think we'll need to run this code here at the office to reproduce the issue and compare the two Pen objects side-by-side.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 29, 2008 at 1:41:58 PM by Peter van Rees&lt;/b&gt;&lt;p&gt;As far as I know pens.darkgray does not return a new object, but one from a static internal collection. (I was just reading about it) Would that be causing the problems?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 29, 2008 at 2:26:19 PM by Peter van Rees&lt;/b&gt;&lt;p&gt;let me know if you need more info. I only tested it in my (large) solutin I am currently working on, so I am not entirely sure it can be reproduced in a small scale test. (sorry, no edit available, so I made a new post)&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 29, 2008 at 9:23:24 PM by Phil Smith&lt;/b&gt;&lt;p&gt;It does not return a new object. The .Net static Pens and Brushes can't be modified and they &lt;br /&gt;also can't be disposed of. The GIS drawing engine needs to be able to change pen widths and &lt;br /&gt;transform pens to properly scale styles. &lt;br /&gt;&lt;br /&gt;The following works but you'll need to dispose of the pen yourself when you are done with it.&lt;br /&gt;&lt;br /&gt;Pen MyPen = Pens.DarkGray.Clone() as Pen;&lt;br /&gt;Pen MyBrish = Brushes.Red.Clone() as Brush;&lt;br /&gt;style = UnscaledOutlinedFilledStyle(MyPen, MyBrush);&lt;br /&gt;&lt;br /&gt;In short, I'd avoid using static objects that are managed by .Net. They may be convenient, &lt;br /&gt;but allow little flexibility.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue222.aspx</link><pubDate>Mon, 29 Dec 2008 21:23:24 GMT</pubDate></item><item><title>Issue #221 (Released): Map control changes cusor even when it does not have focus</title><description>&lt;b&gt;Friday, December 19, 2008 at 8:43:24 AM by Ryan Dotson&lt;/b&gt;&lt;p&gt;When there is an active selection on a map (with the glowing behavior), if a popup window is displayed anywhere over the Map object, the cursor rapidly switches between an arrow and a crosshairs when moving over the client area of the popup window.&amp;nbsp;&amp;nbsp;This happens whether the Form is modal or modeless.&lt;br /&gt;&lt;br /&gt;Note: The cursor still works in the Popup form, it is just a display issue.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 29, 2008 at 10:02:16 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm, it sounds like the cursor is being changed too agressively by the Map control.&amp;nbsp;&amp;nbsp;The cursor should only be changing when the Map control has focus.&amp;nbsp;&amp;nbsp;I wonder if somehow the control is receiving a mouse event?&amp;nbsp;&amp;nbsp;I'll create an app to display a Form over a Map control to try and repro the issue.&amp;nbsp;&amp;nbsp;Perhaps if we can remove code which sets the cursor when the Selection is redrawn, it can resolve this issue.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 29, 2008 at 11:24:01 AM by Jon Person&lt;/b&gt;&lt;p&gt;Sure enough, in the decoration painting thread, there is a command to change the cursor.&amp;nbsp;&amp;nbsp;A new policy has been adopted to forbid the changing of cursors unless the code being executed is part of a mouse action.&amp;nbsp;&amp;nbsp;I'll have a build posted today once I have the new cursor behavior fully tested.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 29, 2008 at 12:02:26 PM by Jon Person&lt;/b&gt;&lt;p&gt;I have a build in progress now which should solve the problem.&amp;nbsp;&amp;nbsp; The only non-mouse-event activity where the cursor was changed was when a Decoration was being redrawn (the Selection is a decoration as well).&amp;nbsp;&amp;nbsp;I've added code which will set the cursor ONLY if the &amp;quot;Focused&amp;quot; property is &amp;quot;True&amp;quot;.&amp;nbsp;&amp;nbsp; The release should be up shortly.&amp;nbsp;&amp;nbsp;Can I get your feedback?&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue221.aspx</link><pubDate>Mon, 29 Dec 2008 12:02:26 GMT</pubDate></item><item><title>Issue #219 (Behavior Is By Design): MissingMethodException after upgrading GPS.NET</title><description>&lt;b&gt;Wednesday, December 17, 2008 at 5:34:24 AM by Oliver Fink&lt;/b&gt;&lt;p&gt;I recently needed to upgrade and re-install my system (XP,VS.NET 2008,C#2.0 for PocketPC Windows Mobile 6 Professional), but GPS.NET 2.3.20 for NETCF 2.0 doesn't work anymore. When I deploy to a device and debug, I get the following exception:&lt;br /&gt;&lt;br /&gt;&amp;quot;System.MissingMethodException was unhandled&lt;br /&gt;Message: File or assembly name 'GeoFramework.Gps.PocketPC, Version=2.3.20.0, Culture=neutral, PublicKeyToken=3ED3CDF4FDDA3400', or one of its dependencies, was not found.&amp;quot;&lt;br /&gt;&lt;br /&gt;both GeoFramework.Gps.PocketPC.dll and GeoFramework.PocketPC.dll are deployed correctly to the device target directory.&lt;br /&gt;&lt;br /&gt;Any ideas?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, December 17, 2008 at 6:25:23 AM by Oliver Fink&lt;/b&gt;&lt;p&gt;oops, sorry - seems that deployment didn't update the components after all...&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, December 18, 2008 at 11:37:23 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Oliver, you are correct that even though you installed the latest version, the assemblies on the mobile device did not get overwritten.&amp;nbsp;&amp;nbsp;I believe this is because we recently found a better way to make our assemblies co-exist with several versions of Visual Studio installed at once.&amp;nbsp;&amp;nbsp; Older assemblies had a version of &amp;quot;2.0.3600.0&amp;quot; for example, whereas new assemblies have a version of &amp;quot;2.0.0.0.&amp;quot;&amp;nbsp;&amp;nbsp;It's possible that Visual Studio saw these new assemblies as *older* since the version is smaller.&lt;br /&gt;&lt;br /&gt;It sounds like you may have already resolved the issue by manually deleting the assemblies on your target device.&amp;nbsp;&amp;nbsp;This would force Visual Studio to redeploy assemblies from your desktop, which would resolve the issue.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue219.aspx</link><pubDate>Thu, 18 Dec 2008 11:37:23 GMT</pubDate></item><item><title>Issue #216 (Behavior Is By Design): TypeLoadException on a Mobile Device after upgrading</title><description>&lt;b&gt;Friday, December 12, 2008 at 5:09:11 AM by David Hanley&lt;/b&gt;&lt;p&gt;After installing the 8th December 2008 release of GPS.Net, I get the following error when trying to interactively debug a Windows Mobile 6.0 application:&lt;br /&gt;&lt;br /&gt;File or assembly name 'GeoFramework.PocketPC, Version=1.4.7.0, Culture=neutral, &lt;br /&gt;PublicKeyToken=3ED3CDF4FDDA3400', or one of its dependencies, was not found.&lt;br /&gt;&lt;br /&gt;The error occurs after a delay of ~4-5 minutes just after the following line is added to the VS2008 Output window:&lt;br /&gt;&lt;br /&gt;'GeoFrameTest.exe' (Managed): Loaded 'C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\Debugger\BCL\System.dll'&lt;br /&gt;&lt;br /&gt;This application worked correctly before the 8th December 2008 release was applied. Any suggestions are most welcome as I'm banging my head of a wall with this one.&lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;David Hanley.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, December 12, 2008 at 5:39:18 AM by David Hanley&lt;/b&gt;&lt;p&gt;Update - I seem to have resolved this issue as follows:&lt;br /&gt;&lt;br /&gt;- Windows Mobile 6.0 Emulator - Hard Reset and redeploy of solution&lt;br /&gt;- Physical device (Motorola MC75) - Clean and blank and redeploy of solution&lt;br /&gt;&lt;br /&gt;Perhaps not an issue with GPS.Net assemblies?&lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;David.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, December 12, 2008 at 12:35:21 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi David, I believe I know what originally caused this problem.&lt;br /&gt;&lt;br /&gt;When GPS.NET was first released, we had no strategy to make assemblies for multiple versions of Visual Studio co-exist.&amp;nbsp;&amp;nbsp;In other words, we wanted develoeprs to be able to have our assemblies show up in the &amp;quot;Add References&amp;quot; dialog, yet we had no clear idea on how to do this gracefully.&amp;nbsp;&amp;nbsp;As a result, we used the Global Assembly Cache.&amp;nbsp;&amp;nbsp;This introduced a problem, however, in which only one assembly with version &amp;quot;2.0.0&amp;quot; could exist.&amp;nbsp;&amp;nbsp;As a result, we had to introduce a number which caused versions to be unique for different .NET platforms.&amp;nbsp;&amp;nbsp;This is where the numbers &amp;quot;3600&amp;quot; and &amp;quot;50727&amp;quot; came from in versions such as &amp;quot;1.4.3600.7&amp;quot;.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;About a month ago, we finally solved this problem with the use of the registry.&amp;nbsp;&amp;nbsp;The registry allowed us to specify assembly folders, places for Visual Studio to look.&amp;nbsp;&amp;nbsp;This solved the problem wonderfully, and we no longer needed to have different version numbers for different platforms of an assembly.&lt;br /&gt;&lt;br /&gt;Now, finally getting to your specific problem.&amp;nbsp;&amp;nbsp;When you upgraded to the latest release, the version numbers of our assemblies changed.&amp;nbsp;&amp;nbsp;They no longer had these other numbers in them.&amp;nbsp;&amp;nbsp;After you upgraded, you may have had to re-add references or controls as a result.&amp;nbsp;&amp;nbsp;Then, when you went to deploy your application, Visual Studio did NOT replace the assemblies on your mobile device.&amp;nbsp;&amp;nbsp;As a result, a TypeLoadException would occur.&lt;br /&gt;&lt;br /&gt;Your hard reset of the device effectively cleared out the deployment folder, allowing fresh assemblies to be deployed.&amp;nbsp;&amp;nbsp;You can also solve this problem by deleting assemblies from the target folder on the mobile device.&lt;br /&gt;&lt;br /&gt;At any rate, thanks for taking the time to report your solution to this issue.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue216.aspx</link><pubDate>Fri, 12 Dec 2008 12:35:21 GMT</pubDate></item><item><title>Issue #146 (Released): ArgumentNullException when passing Null to EsriShapefile constructor</title><description>&lt;b&gt;Thursday, September 04, 2008 at 11:39:42 AM by Jon Person&lt;/b&gt;&lt;p&gt;Developers can load geographic data sources into specific kinds of geographic objects.&amp;nbsp;&amp;nbsp;Custom point, line, and polygon types can be passed to an EsriShapefile constructor, like this:&lt;br /&gt;&lt;br /&gt;EsriShapefile cities = new EsriShapefile(@”MyFile.shp”, typeof(MyLakeType), null, null);&lt;br /&gt;EsriShapefile roads = new EsriShapefile(@”MyFile.shp”, null, typeof(MyRoadType), null);&lt;br /&gt;EsriShapefile lakes = new EsriShapefile(@”MyFile.shp”, null, null, typeof(MyLakeType));&lt;br /&gt;&lt;br /&gt;... however, an ArgumentNullException is being raised when a null value is specified.&amp;nbsp;&amp;nbsp;The correct behavior should be that null parameters are ignored, especially when the geographic data source has no such objects to create.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 08, 2008 at 2:01:51 PM by Jon Person&lt;/b&gt;&lt;p&gt;The constructor will silently convert &amp;quot;null&amp;quot; into a default type so that geographic objects can be loaded.&amp;nbsp;&amp;nbsp;If the file truly contains no objects of that type, then they'll be ignored.&lt;br /&gt;&lt;br /&gt;This specific issue turned out not to be a flaw inside of GIS.NET, but instead a flaw in a developer's code.&amp;nbsp;&amp;nbsp;When you create custom objects, certain constructors need to exist in your object before they will load properly.&amp;nbsp;&amp;nbsp;For example, if you inherit from Polygon, you must expose a constructor which accepts a List&amp;lt;Position&amp;gt; as a parameter so that the loader can construct your object.&amp;nbsp;&amp;nbsp;I've improved the exception to clearly explain what constructors are needed, including generating the actual C# code necessary to fix the error.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue146.aspx</link><pubDate>Mon, 08 Dec 2008 14:01:51 GMT</pubDate></item><item><title>Issue #184 (Behavior Is By Design): New Event for NMEAInterpreter</title><description>&lt;b&gt;Wednesday, November 05, 2008 at 7:47:11 AM by David Grimm&lt;/b&gt;&lt;p&gt;I need to store the SNR of each Satellite on each time for further calculations. To get the SNR Information I use the NMEAInterpreter from the toolbox. I store the actual SNR of each satellite in an array. Like follows: &amp;quot;signalToNoiseRatio(i) = NmeaInterpreter1.Satellites.Item(i).SignalToNoiseRatio&amp;quot;&lt;br /&gt;To be able to store the values in real-time I would need a further public event on the NMEAInterpreter. &lt;br /&gt;In the tutorial http://www.geoframeworks.com/Articles/WritingApps1_9.aspx you show the code of an NMEAInterpreter. There exists the following event &amp;quot;Public Event SatelliteReceived(ByVal pseudoRandomCode As Integer, _&lt;br /&gt;ByVal azimuth As Integer, _&lt;br /&gt;ByVal elevation As Integer, _&lt;br /&gt;ByVal signalToNoiseRatio As Integer)&amp;quot;&lt;br /&gt;&lt;br /&gt;Would it be possible to raise a similar event also in the dll version? The best solution would be to raise an event after an update of all GPGSA information. Not after each line, because the GPGSA can be spread over several lines. For example after each GPGSALine.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:03:17 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm, we do have some events such as SatelliteSignalChanged, would that do the trick?&amp;nbsp;&amp;nbsp;In other words, do you need to know when new data is available, even when a value hasn't actually changed?&amp;nbsp;&amp;nbsp;If so, then yes, we would need a brand new event to be added.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue184.aspx</link><pubDate>Mon, 17 Nov 2008 17:03:17 GMT</pubDate></item><item><title>Issue #183 (Behavior Is By Design): Unable to automatically connect to GPS device in Toshiba G710</title><description>&lt;b&gt;Wednesday, November 05, 2008 at 7:03:58 AM by Neil Andrews&lt;/b&gt;&lt;p&gt;Hi Jon &lt;br /&gt;We recently acquired a Toshiba G710 smartphone from a partner to test and have been a little unsuccessful.&lt;br /&gt;&lt;br /&gt;It turns out the device does not have the GPSID configured in way shape or form (I am currently in dicussions with Toshiba about this at minute).&amp;nbsp;&amp;nbsp;However I know that the device does have GPS and managed to find out that the device is on COM 3 Baqud 9600, but when I tell GPS.Net to detect devices it can not find the device.&amp;nbsp;&amp;nbsp;I have set Devices.AllowSharedGpsDeviceConnections to false and also set to Devices.IsSharedGpsDeviceAutomaticallyConfigured to false.&amp;nbsp;&amp;nbsp;The detection completes almost immediately, if I then check the SerialDevice array it has to devices in the list COM3 and COM 2 both at Baud 57600.&lt;br /&gt;&lt;br /&gt;If I create a new SerialDevice and specify the port and baud rate of the device, and then get the HardwareStream then I can connect successfully and parse data.&lt;br /&gt;&lt;br /&gt;Am I missing a key step somewhere here? &lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;Dan&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 4:56:58 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Neil, my apologies for the delay!&amp;nbsp;&amp;nbsp;I'm finally able to focus on the Issue Tracker directly again.&amp;nbsp;&amp;nbsp;You're welcome to add me to Windows Live Messenger at support@geoframeworks.com to help improve response times moving forward.&lt;br /&gt;&lt;br /&gt;It's possible that the Toshiba may either have NO GPSID present, or may be using a proprietary driver.&amp;nbsp;&amp;nbsp;After the fiasco with HTC's custom GPSID driver, we were forced to re-tool GPS.NET to keep its paws off of the registry if any sign of a proprietary driver exists.&lt;br /&gt;&lt;br /&gt;One thing which leaps out at me is the baud rate: 9600.&amp;nbsp;&amp;nbsp;This baud rate is NOT checked by default by GPS.NET.&amp;nbsp;&amp;nbsp;So, let's add 9600 to the list of baud rates tested.&amp;nbsp;&amp;nbsp;We can do this with some code:&lt;br /&gt;&lt;br /&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;using GeoFramework.IO;&lt;br /&gt;using GeoFramework.IO.Serial;&lt;br /&gt;&lt;br /&gt;Devices.SerialBaudRates.Add(BaudRate.Baud9600);&lt;br /&gt;&lt;br /&gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;&lt;br /&gt;... you could optimize this further by clearing out this entire collection and only adding the baud rates you actually use.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue183.aspx</link><pubDate>Mon, 17 Nov 2008 16:56:58 GMT</pubDate></item><item><title>Issue #173 (Behavior Is By Design): Devices.CancelDetection doesn't appear to respond correctly</title><description>&lt;b&gt;Tuesday, October 21, 2008 at 1:19:40 PM by Kathleen Lossau&lt;/b&gt;&lt;p&gt;We are experimenting with a cancellable detection path for GPS devices after calling Devices.Detect() and have observed the following:&lt;br /&gt;&lt;br /&gt;Devices.CancelDetection() does not appear to stop GPS detection. We still see the Devices.DeviceDetectionAttempted event continue to occur long after calling the CancelDetection() method. &lt;br /&gt;&lt;br /&gt;We also never see the Devices.DeviceDetectionCancelled event fire. (verified in the debugger by setting breakpoints appropriately - obviously there's not much code implemented here yet).&lt;br /&gt;&lt;br /&gt;We do NOT see Devices.DeviceDetectionComplete fire - which is as expected here. But we need some way to know that device detection has really been cancelled and that the detection thread is really done, and it doesn't appear that there's a good way to do this.&lt;br /&gt;&lt;br /&gt;Please advise. Code snippet follows.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Potomac Fusion Inc.&lt;br /&gt;&lt;br /&gt;public PFIGSSUI()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InitializeComponent();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InitializeDetectionListeners();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private void InitializeDetectionListeners()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Devices.BluetoothDeviceDetected += new DeviceEventHandler(Devices_BluetoothDeviceDetected);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Devices.DeviceDetected += new DeviceEventHandler(Devices_DeviceDetected);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Devices.DeviceDetectionAttempted += new DeviceEventHandler(Devices_DeviceDetectionAttempted);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Devices.DeviceDetectionCompleted += new EventHandler(Devices_DeviceDetectionCompleted);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Devices.DeviceDetectionCanceled += new DeviceEventHandler(Devices_DeviceDetectionCanceled);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Devices.SerialDeviceDetected += new DeviceEventHandler(Devices_SerialDeviceDetected);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Devices.UsbDeviceDetected += new DeviceEventHandler(Devices_UsbDeviceDetected);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void Devices_DeviceDetectionCanceled(object sender, DeviceEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw new NotImplementedException();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void Devices_SerialDeviceDetected(object sender, DeviceEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw new NotImplementedException();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void Devices_UsbDeviceDetected(object sender, DeviceEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw new NotImplementedException();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void Devices_DeviceDetectionCompleted(object sender, EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setStateTextLabel(&amp;quot;Completed GPS device search.&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setActionTextLabel(&amp;quot;&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw new NotImplementedException();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// present listbox of GPS devices and ask them to pick one (if more than&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// one is found).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void Devices_DeviceDetectionAttempted(object sender, DeviceEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setActionTextLabel(&amp;quot;Searching for GPS device on: &amp;quot; + e.Device.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private void setStateTextLabel(string stateText)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (currentStateStatusLabel.InvokeRequired)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringUpdateInvokeDelegate callback = new StringUpdateInvokeDelegate(setStateTextLabel);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.Invoke(callback, new object[] { stateText });&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentStateStatusLabel.Text = stateText;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private void setActionTextLabel(string actionText)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (currentActionStatusLabel.InvokeRequired)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringUpdateInvokeDelegate callback = new StringUpdateInvokeDelegate(setActionTextLabel);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.Invoke(callback, new object[] { actionText });&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentActionStatusLabel.Text = actionText;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void Devices_DeviceDetected(object sender, DeviceEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw new NotImplementedException();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void Devices_BluetoothDeviceDetected(object sender, DeviceEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw new NotImplementedException();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private void detectionButton_Click(object sender, EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO: probably turn off the transmission if currently transmitting...&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (detectingDevices)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// must be a cancel...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;detectionButton.Enabled = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setStateTextLabel(&amp;quot;Cancelling...&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Devices.CancelDetection();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setStateTextLabel(&amp;quot;Searching for GPS devices...&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;detectionButton.Text = &amp;quot;Cancel detection&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;detectingDevices = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Devices.Detect();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, November 11, 2008 at 1:37:05 PM by Kathleen Lossau&lt;/b&gt;&lt;p&gt;Any chance of getting this looked at? I'm entering a more critical phase for this project and would appreciate at least a diagnosis.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 4:51:04 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Kathleen, my apologies for the delays on this particular issue.&amp;nbsp;&amp;nbsp;A recent web update pulled me away from GPS.NET issues, but I'm now back on track.&amp;nbsp;&amp;nbsp;The CancelDetection method will attempt to go in and forcefully abort any thread involved with testing a device.&amp;nbsp;&amp;nbsp;I wonder if one of these threads might possibly be stuck trying to open a port.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Can you give me some more information about the device in particular?&amp;nbsp;&amp;nbsp;We might be able to attack this problem by optimizing detection to the point you don't have as much of a need to try and forcefully cancel detection.&lt;br /&gt;&lt;br /&gt;You (and everyone else) are welcome to reach me directly via Windows Live Messenger at support@geoframeworks.com.&amp;nbsp;&amp;nbsp;That should speed up response times for you, especially as your deadline approaches.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue173.aspx</link><pubDate>Mon, 17 Nov 2008 16:51:04 GMT</pubDate></item><item><title>Issue #203 (Behavior Is By Design): How to Detect the Samsung Omnia SGH-i900</title><description>&lt;b&gt;Tuesday, November 25, 2008 at 3:19:06 AM by Armando Rocha&lt;/b&gt;&lt;p&gt;When im trying detect serial device on Samsung OMNIA SGH-i900 its freeze in COM5 at 4800 baud. I can't connect to serial device, but i know that exist in COM3 at 4800 baud. Others GPS application use them.&lt;br /&gt;&lt;br /&gt;Any sugestion?&lt;br /&gt;&lt;br /&gt;Thanks.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, November 25, 2008 at 10:51:25 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Armando, it sounds like one of the ports GPS.NET is scanning is not meant to be opened.&amp;nbsp;&amp;nbsp;This is rare, but it has been reported before.&amp;nbsp;&amp;nbsp;There's a method called &amp;quot;AvoidSerialPort&amp;quot; in the GeoFramework.IO.Devices static class which we can use to avoid COM5:&lt;br /&gt;&lt;br /&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;[C#]&lt;br /&gt;using GeoFramework.IO;&lt;br /&gt;using GeoFramework.IO.Serial;&lt;br /&gt;&lt;br /&gt;void Configure()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Prevent COM5: from being opened during detection&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Devices.AvoidSerialPort(CommunicationPort.Com5);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Continue device detection&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Devices.Detect();&lt;br /&gt;}&lt;br /&gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;&lt;br /&gt;... let's give this a try and see if that improves things for you.&amp;nbsp;&amp;nbsp;We might also want to look at optimizing device detection by modifying the &amp;quot;GeoFramework.IO.Devices.SerialBaudRates&amp;quot; collection to contain only the baud rates of the devices you'll actually use.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, November 26, 2008 at 6:40:26 AM by Armando Rocha&lt;/b&gt;&lt;p&gt;Hi Jon,&lt;br /&gt;&lt;br /&gt;I avoided the Com5, like you said, but i still get the same problem in Com9 at 57600 Baud, &lt;br /&gt;the detection hang.&lt;br /&gt;&lt;br /&gt;What intrigues me, is that some times i can connet to Shared GPS Device on COM3: at 57600 Baud, but its very rare.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Armando&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, November 26, 2008 at 6:40:27 AM by Armando Rocha&lt;/b&gt;&lt;p&gt;Hi Jon,&lt;br /&gt;&lt;br /&gt;I avoided the Com5, like you said, but i still get the same problem in Com9 at 57600 Baud, &lt;br /&gt;the detection hang.&lt;br /&gt;&lt;br /&gt;What intrigues me, is that some times i can connet to Shared GPS Device on COM3: at 57600 Baud, but its very rare.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Armando&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, December 04, 2008 at 12:29:08 PM by Jon Person&lt;/b&gt;&lt;p&gt;Armando ended up resolving this issue over MSN Chat.&amp;nbsp;&amp;nbsp;Strangely, we found that manual connections to the GPSID port (GPD1:) were working with a &amp;quot;SerialStream&amp;quot; object, yet the GPSID seemed to not be finding the device.&amp;nbsp;&amp;nbsp;The registry structure appears to be different enough on this device to fool GPS.NET into avoiding the port.&lt;br /&gt;&lt;br /&gt;We ended up manually registering the GPSID device to coerce GPS.NET into using it:&lt;br /&gt;&lt;br /&gt;[C#]&lt;br /&gt;Devices.RegisterGpsDevice(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new SerialDevice(&amp;quot;GPD1:&amp;quot;, BaudRate.Baud115200),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NmeaInterpreter.ProtocolName);&lt;br /&gt;&lt;br /&gt;... this code forces GPS.NET to &amp;quot;detect&amp;quot; the program port (GPD1:), after which the Omina started working.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I have an export of Armando's registry so I can work that into the development of GPS.NET 3.0's GPSID functionality.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue203.aspx</link><pubDate>Thu, 04 Dec 2008 12:29:08 GMT</pubDate></item><item><title>Issue #147 (Behavior Is By Design): How to connect to the Samsung Omina</title><description>&lt;b&gt;Thursday, September 04, 2008 at 2:05:50 PM by Neil Andrews&lt;/b&gt;&lt;p&gt;I purchased the new Samsung Omnia today and ran the sample application to test the GPS functionality however GPS.Net was unable to locate the GPS receiver.&amp;nbsp;&amp;nbsp;I checked the configuration of the GPSID in the control panel all seemed to be ok there (program port GPD1, hardware port COM9 baud rate 4800).&amp;nbsp;&amp;nbsp;I checked the registry which all seemed to be configured ok , the only thing I noticed was that it appears to be using a custom dll for the GPS intermediate driver. I tested live search mobile and Google maps and both connected to GPS ok. &lt;br /&gt;&lt;br /&gt;If there is any further information I can provide to help diagnose this please let me know.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 2:59:54 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Neil, in the most recent build of GPS.NET, it will make no attempt to configure the GPSID if any proprietary driveer is in use.&amp;nbsp;&amp;nbsp;This was implemented because of problems no HTC devices which quite dramatically broke the standard registry key design found on typical Windows Mobile devices.&amp;nbsp;&amp;nbsp; So, for any PDA with a custom GPSID driver, it will be up to you and your end-users to ensure that all GPSID settings are correct.&lt;br /&gt;&lt;br /&gt;Can you give me a bit more information on what happens in the GPS.NET example?&amp;nbsp;&amp;nbsp;It should at least be finding the GPSID and reporting it as a &amp;quot;Shared GPS Device (Serial Device on COM9: at 4800 baud)&amp;quot; if you click the &amp;quot;Detect&amp;quot; button.&amp;nbsp;&amp;nbsp;We might also check to make sure that the &amp;quot;Manage GPS Automatically&amp;quot; checkbox is checked in the third tab of the GPSID control panel.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, September 05, 2008 at 1:17:43 AM by Neil Andrews&lt;/b&gt;&lt;p&gt;Hi Jon &lt;br /&gt;When I run the sample and tell it to search for devices it doesn't even locate a device.&amp;nbsp;&amp;nbsp;Also the manage GPS checkbox is checked.&lt;br /&gt;Its a weird one!&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, September 05, 2008 at 3:23:11 PM by Jon Person&lt;/b&gt;&lt;p&gt;Weird, not even the GPSID device??&amp;nbsp;&amp;nbsp;Hah yeah, that blows me away.&amp;nbsp;&amp;nbsp;It suggests that not even the root-level GPSID registry keys are present.&amp;nbsp;&amp;nbsp;This is what GPS.NET looks for to confirm that a GPSID is installed.&amp;nbsp;&amp;nbsp;I think I may need a registry dump of this device's particular branch to see what it will take to get it supported.&lt;br /&gt;&lt;br /&gt;This is good timing because the core architecture for GPS.NET 3.0 just started, and deep support for varying GPSID drivers is a top priority as it gets written.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, September 10, 2008 at 11:23:16 AM by Neil Andrews&lt;/b&gt;&lt;p&gt;Sorry Jon just seen your response now.&amp;nbsp;&amp;nbsp;I will export the registry keys for the device tomorrow and send them through&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 11, 2008 at 1:27:03 PM by Jon Person&lt;/b&gt;&lt;p&gt;Okay, that sounds great.&amp;nbsp;&amp;nbsp;Thanks for taking the time to do this, Neil!&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, October 03, 2008 at 5:47:46 AM by Neil Andrews&lt;/b&gt;&lt;p&gt;Hi Jon &lt;br /&gt;&lt;br /&gt;Aplogies for the delay in getting back to you, our original unit had to be returned, I have managed to get my hands on another one so here is the registry info.&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\\System\CurrentControlSet\GPS Intermediate Driver] &lt;br /&gt;&amp;quot;IsEnabled&amp;quot;=dword:1 &lt;br /&gt;&amp;quot;MaxLogFileSize&amp;quot;=dword:8000 (default 32768) &lt;br /&gt;&amp;quot;OldLogFile&amp;quot;=&amp;quot;\\GPSID_log.bak&amp;quot; &lt;br /&gt;&amp;quot;CurrentLogFile&amp;quot;=&amp;quot;\\GPSID_log.txt&amp;quot; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer] &lt;br /&gt;&amp;quot;DriverInterface&amp;quot;=&amp;quot;COM5:&amp;quot; &lt;br /&gt;&amp;quot;MaxBufferSize&amp;quot;=dword:4000 (default 16384) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer\ActiveDevice] &lt;br /&gt;&amp;quot;Index&amp;quot;=dword:5 &lt;br /&gt;&amp;quot;Prefix&amp;quot;=&amp;quot;COM&amp;quot; &lt;br /&gt;&amp;quot;Dll&amp;quot;=&amp;quot;GPSIDRIL.dll&amp;quot; &lt;br /&gt;&amp;quot;Context&amp;quot;=dword:QUI NON TOCCATE NIENTE!! lasciate il valore gi&amp;#224; presente. &lt;br /&gt;&amp;quot;Flags&amp;quot;=dword:2 &lt;br /&gt;&amp;quot;Keep&amp;quot;=dword:1 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\\System\CurrentControlSet\GPS Intermediate Driver\Drivers] &lt;br /&gt;&amp;quot;CurrentDriver&amp;quot;=&amp;quot;Samsung GPS Hardware&amp;quot; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\\System\CurrentControlSet\GPS Intermediate Driver\Drivers\Samsung GPS Hardware] &lt;br /&gt;&amp;quot;Baud&amp;quot;=dword:4800 &lt;br /&gt;&amp;quot;CommPort&amp;quot;=&amp;quot;COM9:&amp;quot; &lt;br /&gt;&amp;quot;SleepOnNoData&amp;quot;=dword:100 &lt;br /&gt;&amp;quot;RetryWaitOnError&amp;quot;=dword:10000 &lt;br /&gt;&amp;quot;OutputBufferSize&amp;quot;=dword:4096 &lt;br /&gt;&amp;quot;InputBufferSize&amp;quot;=dword:4096 &lt;br /&gt;&amp;quot;FriendlyName&amp;quot;=&amp;quot;Samsung GPS Card, version 1.0&amp;quot; &lt;br /&gt;&amp;quot;InterfaceType&amp;quot;=&amp;quot;COMM&amp;quot; &lt;br /&gt;&lt;br /&gt;As I mentioned above the only thing I can see different is the fact they are using a custom dll.&lt;br /&gt;&lt;br /&gt;thanks&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, October 10, 2008 at 11:40:42 AM by  &lt;/b&gt;&lt;p&gt;Hi Jon,&lt;br /&gt;is there already a solution for the omnia?&lt;br /&gt;&lt;br /&gt;Thanks in advance Rolf&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:31:37 PM by Jon Person&lt;/b&gt;&lt;p&gt;Thanks for the registry information, Neil.&amp;nbsp;&amp;nbsp;I was pulled away from GPS support, but I'm now back on this issue.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, November 25, 2008 at 11:04:54 AM by Jon Person&lt;/b&gt;&lt;p&gt;Neil, are you able to open a manual connection to COM5: at any baud rate?&amp;nbsp;&amp;nbsp;According to the registry settings you've sent me, this is the appropriate port.&amp;nbsp;&amp;nbsp;We can perform a manual connection using the &amp;quot;SerialStream&amp;quot; class, like this:&lt;br /&gt;&lt;br /&gt;[C#]&lt;br /&gt;using GeoFramework.IO.Serial;&lt;br /&gt;using GeoFramework.Gps.Nmea;&lt;br /&gt;&lt;br /&gt;SerialStream device = new SerialStream(CommunicationPort.Com5, BaudRate.Baud38400);&lt;br /&gt;NmeaInterpreter interpreter = new NmeaInterpreter(device);&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue147.aspx</link><pubDate>Tue, 25 Nov 2008 11:04:54 GMT</pubDate></item><item><title>Issue #210 (Behavior Is By Design): TypeLoadException for PolygonF in GIS.NET 3.0</title><description>&lt;b&gt;Thursday, December 04, 2008 at 7:46:27 AM by Yatin Patel&lt;/b&gt;&lt;p&gt;I m getting above error while running desktop example installed with gis 3.0, please help. Could not load type 'GeoFramework.Shapes.PolygonF' from assembly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please reply to ankit.patel@cyncorp.com as above email a/c yatin@cyncorp.com is not active anymore.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 08, 2008 at 11:45:53 AM by Jon Person&lt;/b&gt;&lt;p&gt;This issue was resolved a few days ago, so downloading the latest installer will resolve the issue.&amp;nbsp;&amp;nbsp;Specifically, an error in the build script caused the GIS.NET 3 to not be built when it really should have.&amp;nbsp;&amp;nbsp;This has been resolved.&lt;br /&gt;&lt;br /&gt;You can get the latest builds from this page: http://www.geoframeworks.com/DownloadProducts.aspx.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue210.aspx</link><pubDate>Mon, 08 Dec 2008 11:45:53 GMT</pubDate></item><item><title>Issue #29 (Behavior Is By Design): Emulator returns empty values in Middle Eastern countries</title><description>&lt;b&gt;Monday, May 19, 2008 at 1:08:31 AM by Bilal Ishtiaque&lt;/b&gt;&lt;p&gt;We are using an emulator to test the application and the coordinates received are somewhere in Ethiopia whereas we are sitting in Pakistan. Can we not get real values using emulator or is it an issue that needs to be resolved on your/our end?&lt;br /&gt;&lt;br /&gt;We are using the following versions:&lt;br /&gt;&lt;br /&gt;Package downloaded and installed from Geo Framework site:&lt;br /&gt;GPS.Net 2.3 for All .NET Platforms ( GPS.Net 2.3.19 )&lt;br /&gt;&lt;br /&gt;Libraries referenced in the project:&lt;br /&gt;GeoFramework.PocketPC.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.4.3600.6&lt;br /&gt;GeoFramework.Gps.PocketPC.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.3.3600.19&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, May 19, 2008 at 5:47:59 AM by Jon Person&lt;/b&gt;&lt;p&gt;I believe this issue may have to do with how the Emulator produces random Position objects.&amp;nbsp;&amp;nbsp;For the best results, a Random object should be re-used.&amp;nbsp;&amp;nbsp;Otherwise, the random values produced may not be so random.&amp;nbsp;&amp;nbsp;The GeoFramework Core 2.0 (shipping with GIS.NET 3.0) supoprts the &amp;quot;Position.Random(Random)&amp;quot; method to ensure better randomness.&amp;nbsp;&amp;nbsp;I'll look into this today (5/19) and see what's going on.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, May 23, 2008 at 8:53:07 AM by Jon Person&lt;/b&gt;&lt;p&gt;Just an update: I've been busy with installer issues and the beta this week, but will start on this issue as soon as they are resolved.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, June 20, 2008 at 3:08:47 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Bilal, I'm now starting on this issue.&amp;nbsp;&amp;nbsp;Can you provide me with a sample coordinate in the region you're using, or (better yet) some source code you've used which triggers the error?&amp;nbsp;&amp;nbsp;This will help me recreate the issue and see what's going on which that hemisphere of the globe.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 08, 2008 at 11:43:13 AM by Jon Person&lt;/b&gt;&lt;p&gt;A recent issue (#211) may explain this problem with incorrect values.&amp;nbsp;&amp;nbsp;The GPRMC, GPGLL, GPGGK and GPGGQ sentences were using the format &amp;quot;HHMM&amp;quot; instead of &amp;quot;HHHMM&amp;quot; to serialize Longitude.&amp;nbsp;&amp;nbsp;This would cause incorrect Longitudes.&amp;nbsp;&amp;nbsp;Issue #211 was fixed on 12/8/2008.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 08, 2008 at 11:43:26 AM by Jon Person&lt;/b&gt;&lt;p&gt;Marked as &amp;quot;By Design&amp;quot; but this is an actual fix.&amp;nbsp;&amp;nbsp;The status prevents duplication in the change log.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue29.aspx</link><pubDate>Mon, 08 Dec 2008 11:43:26 GMT</pubDate></item><item><title>Issue #211 (Released): Emulator produces incorrect Longitude for GPRMC, GPGLL, GPGGK, GPGGQ sentences</title><description>&lt;b&gt;Sunday, December 07, 2008 at 2:09:16 PM by Brian Hoeschen&lt;/b&gt;&lt;p&gt;When emulating from a know data source, the longitude should be five characters (DDDMM) but for two digit longitudes, it doesn't include the leading zero. &lt;br /&gt;expected value = -97.645 &lt;br /&gt;actual value = -976.45&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 08, 2008 at 11:35:11 AM by Jon Person&lt;/b&gt;&lt;p&gt;Brian, thanks for this report.&amp;nbsp;&amp;nbsp;Do you see this error in any particular sentence?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 08, 2008 at 11:41:43 AM by Jon Person&lt;/b&gt;&lt;p&gt;I see the problem.&amp;nbsp;&amp;nbsp;Internally, the source code to serialize objects into an NMEA sentence was using the format &amp;quot;HHMM&amp;quot; for Longitude, which is not correct.&amp;nbsp;&amp;nbsp;The correct format should be &amp;quot;HHHMM&amp;quot;.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;This problem affects four sentences: GPRMC, GPGLL, GPGGK, GPGGQ.&amp;nbsp;&amp;nbsp;The format has been fixed for all four sentences and a build is now being posted.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue211.aspx</link><pubDate>Mon, 08 Dec 2008 11:41:43 GMT</pubDate></item><item><title>Issue #207 (Released): PixelAt method returns incorrect value on Compact Framework</title><description>&lt;b&gt;Monday, December 01, 2008 at 11:20:27 AM by Jon Person&lt;/b&gt;&lt;p&gt;The PixelAt method uses a Matrix object on the Desktop Framework to project, scale and translate a geographic or projected coordinate into a pixel coordinate.&amp;nbsp;&amp;nbsp;This method works fine on the desktop, but on the Compact Framework the values appear to be incorrect.&amp;nbsp;&amp;nbsp; It appears that the translate portion of the transform is not being applied.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, December 02, 2008 at 2:13:20 PM by Jon Person&lt;/b&gt;&lt;p&gt;Phil implemented a fix to this, though the fix was not in the Matrix class as originally thought.&amp;nbsp;&amp;nbsp;The initialization sequence of events varies on the desktop vs. mobile devices, and this was the root of the problem.&amp;nbsp;&amp;nbsp;Phil implemented a fix which resolves the issue for the CF, and also improves initialization behavior for the desktop.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, December 02, 2008 at 2:13:31 PM by Jon Person&lt;/b&gt;&lt;p&gt;Released 12/2/2008 at about noon (GMT-7)&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue207.aspx</link><pubDate>Tue, 02 Dec 2008 14:13:31 GMT</pubDate></item><item><title>Issue #209 (Released): Polygon mouse events not working with very small objects.</title><description>&lt;b&gt;Monday, December 01, 2008 at 3:58:35 PM by Jon Person&lt;/b&gt;&lt;p&gt;Polygons in the GIS.NET 3.0 framework which are very small, do not seem to trigger any mouse events.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 01, 2008 at 3:59:56 PM by Jon Person&lt;/b&gt;&lt;p&gt;This issue was traced back to flaws in GDI+ this afternoon.&amp;nbsp;&amp;nbsp;The GDI+ drawing subsystem assumes that all coordinates are pixel coordinates.&amp;nbsp;&amp;nbsp;As a result, internally, all shapes are converted to Integers before testing.&amp;nbsp;&amp;nbsp;So, if you have a square whose points are all less than 1.0, all hit testing attempts will return FALSE.&amp;nbsp;&amp;nbsp;This behavior is incorect.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 01, 2008 at 4:00:53 PM by Jon Person&lt;/b&gt;&lt;p&gt;A function was implemented this afternoon which works around the GraphicsPath.IsVisible() method which was being used before today.&amp;nbsp;&amp;nbsp;The new function relies purely upon mathematics for hit testing; it does not care about pixels and it operates on float-point values.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 01, 2008 at 4:01:31 PM by Jon Person&lt;/b&gt;&lt;p&gt;The new function is producing accurate results now, especially for small objects.&amp;nbsp;&amp;nbsp;Mouse events for Polygon objects have been restored, regardless of the size of the polygon.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue209.aspx</link><pubDate>Mon, 01 Dec 2008 16:01:31 GMT</pubDate></item><item><title>Issue #208 (Released): LabeledPolygon objects using the Centroid text alignment have incorrect projected extents.</title><description>&lt;b&gt;Monday, December 01, 2008 at 2:40:24 PM by Jon Person&lt;/b&gt;&lt;p&gt;When using LabeledPolygon objects whose Label alignment is &amp;quot;Centroid,&amp;quot; the object does not receive mouse events.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 01, 2008 at 2:40:43 PM by Jon Person&lt;/b&gt;&lt;p&gt;Upon further examination, the projected extent of these objects is grossly incorrect.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 01, 2008 at 2:41:19 PM by Jon Person&lt;/b&gt;&lt;p&gt;Inside the LabeledPolygon.CalculateGraphicsPath method, the &amp;quot;textBounds&amp;quot; variable was not being updated to the adjusted extent of the GraphicsPath after it has been transformed.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, December 01, 2008 at 3:57:36 PM by Jon Person&lt;/b&gt;&lt;p&gt;This bug is two-fold, but this portion of the issue has been resolved.&amp;nbsp;&amp;nbsp;A new issue will be posted for the remaining problem:&amp;nbsp;&amp;nbsp;polygon hit-testing.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue208.aspx</link><pubDate>Mon, 01 Dec 2008 15:57:36 GMT</pubDate></item><item><title>Issue #206 (Released): PixelAt method to calculate the pixel location of geographic objects</title><description>&lt;b&gt;Saturday, November 29, 2008 at 12:07:20 PM by Jon Person&lt;/b&gt;&lt;p&gt;A request was made for a new method called &amp;quot;PixelAt&amp;quot; which returns the pixel coordinate of a specified projected or geographic coordinate.&amp;nbsp;&amp;nbsp;This method would complement other similar methods such as &amp;quot;ProjectedAt&amp;quot; and &amp;quot;PositionAt&amp;quot;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, November 29, 2008 at 12:07:37 PM by Jon Person&lt;/b&gt;&lt;p&gt;The method was added on Thursday night and is now released.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, November 29, 2008 at 12:07:53 PM by Jon Person&lt;/b&gt;&lt;p&gt;A bug report was filed for unusual values from the new method.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, November 29, 2008 at 12:08:06 PM by Jon Person&lt;/b&gt;&lt;p&gt;The issue was resolved and a new build was posted on Friday morning.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue206.aspx</link><pubDate>Sat, 29 Nov 2008 12:08:06 GMT</pubDate></item><item><title>Issue #201 (Assigned, Research in progress): Search with a Circle object</title><description>&lt;b&gt;Friday, November 21, 2008 at 7:50:26 AM by Jean Bédard&lt;/b&gt;&lt;p&gt;Search function is not returning any result when passing a Circle object as a Polygon. It would be very useful to allow searching with a Circle for raduis search.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue201.aspx</link><pubDate>Fri, 21 Nov 2008 07:50:26 GMT</pubDate></item><item><title>Issue #200 (Released): PositionCollection.Area property does not remove added points</title><description>&lt;b&gt;Friday, November 21, 2008 at 2:03:27 AM by Mark Spitzer&lt;/b&gt;&lt;p&gt;When accessing the Area-property in the PositionCollection-class (and if the first and last points are not the same), a position is added to the PositionCollection to calculate the Area value.&lt;br /&gt;&lt;br /&gt;But this last added position is not removed after calculation, so the PositionCollection fills up with unwanted position.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 24, 2008 at 11:47:51 AM by Jon Person&lt;/b&gt;&lt;p&gt;The Area property needs to operate on a &amp;quot;closed&amp;quot; polygon.&amp;nbsp;&amp;nbsp;In this 1.0 framework, PositionCollection will temporarily add a Position to the list to ensure it's a closed polygon.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 24, 2008 at 11:48:21 AM by Jon Person&lt;/b&gt;&lt;p&gt;A fix has been made to instead create a copy of the *entire* collection to protect the original contents.&amp;nbsp;&amp;nbsp;The area calculation is then performed on this collection.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue200.aspx</link><pubDate>Mon, 24 Nov 2008 11:48:21 GMT</pubDate></item><item><title>Issue #202 (Released): Tileset causes a TypeLoadException when using EquidistantCylindrical projection.</title><description>&lt;b&gt;Monday, November 24, 2008 at 11:39:24 AM by Jon Person&lt;/b&gt;&lt;p&gt;When attempting to load a Tileset on the Compact Framework, a TypeLoadException occurs if the tileset was using the EquidistantCylindricalProjection projection.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 24, 2008 at 11:42:40 AM by Jon Person&lt;/b&gt;&lt;p&gt;As GeoFrameworks moves towards a common framework which works across multiple rendering platforms (GDI+, WPF, DirectX, Silverlight, etc.), some classes had to be moved to separate assemblies.&amp;nbsp;&amp;nbsp;This is a rare breaking change in the same major version people have been using, but we felt this rare exception was appropriate to help people be able to more easily transition their application to other platforms later on.&lt;br /&gt;&lt;br /&gt;One such change was to move the EquidistantCylindricalProjection class, which is used very frequently, to the GeoFramework assembly.&amp;nbsp;&amp;nbsp;However, the TilesetConfiguration class was only designed to look in the GeoFramework.Geodesy assembly for projection types.&amp;nbsp;&amp;nbsp;This caused Tilesets using EquidistantCylindrical to break, as the class is no longer in this assembly.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 24, 2008 at 11:44:31 AM by Jon Person&lt;/b&gt;&lt;p&gt;A change was made to TilesetConfiguration to now also look for projection objects in the GeoFramework assembly for projections.&amp;nbsp;&amp;nbsp;In the future, we'll need a static event added to TilesetConfiguration to help developers use Tileset with customized projection objects, as they will not be present in either of these assemblies.&amp;nbsp;&amp;nbsp;Phil?&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue202.aspx</link><pubDate>Mon, 24 Nov 2008 11:44:31 GMT</pubDate></item><item><title>Issue #197 (Behavior Is By Design): Licensing error with GPS.NET 2.0</title><description>&lt;b&gt;Tuesday, November 18, 2008 at 10:14:28 PM by Piers Cockran&lt;/b&gt;&lt;p&gt;Our application runs fine on the development computer, but comes up with a registration web page after running the application when it is deployed to another computer.we when we deploy the application.&lt;br /&gt;&lt;br /&gt;The DLL referneces are as follows:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reference Include=&amp;quot;GeoFramework, Version=1.4.7.0, Culture=neutral, PublicKeyToken=3ed3cdf4fdda3400, processorArchitecture=MSIL&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reference Include=&amp;quot;GeoFramework.Gps, Version=2.3.50727.20, Culture=neutral, PublicKeyToken=3ed3cdf4fdda3400, processorArchitecture=x86&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SpecificVersion&amp;gt;FalseSpecificVersion&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HintPath&amp;gt;..\..\..\Program Files\GeoFrameworks\GPS.NET 2.0\Desktop Framework 3.5\GeoFramework.Gps.dllHintPath&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reference&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reference Include=&amp;quot;GeoFramework.Gps.Controls, Version=1.3.0.0, Culture=neutral, PublicKeyToken=3ed3cdf4fdda3400, processorArchitecture=MSIL&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reference Include=&amp;quot;GeoFramework.Gps.Garmin, Version=1.2.50727.1, Culture=neutral, PublicKeyToken=3ed3cdf4fdda3400, processorArchitecture=x86&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SpecificVersion&amp;gt;FalseSpecificVersion&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HintPath&amp;gt;..\..\..\Program Files\GeoFrameworks\GPS.NET 2.0\Desktop Framework 3.5\GeoFramework.Gps.Garmin.dllHintPath&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reference&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have put the following code in the AssemblyInf0.cs:&lt;br /&gt;&lt;br /&gt;[License keys edited out] &lt;br /&gt;&lt;br /&gt;What do I have to do to get this to work? I have some extreme time pressures on this one as our we have live customers waiting to test the program tomorrow morning Australian Eastern time (GMT +10 Hours).&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, November 20, 2008 at 11:54:12 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Piers, recent changes to our build system led to this problem today.&amp;nbsp;&amp;nbsp;Specifically, we merged DF20 and DF35 assemblies into a single assembly.&amp;nbsp;&amp;nbsp;However, the built assemblies were internally coded for one platform, not both.&amp;nbsp;&amp;nbsp;A build was released just now (11/20 12:53PM GMT-7) which resolves this issue.&amp;nbsp;&amp;nbsp;Downloading and installing the latest will resolve the issue.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, November 20, 2008 at 1:13:26 PM by Jon Person&lt;/b&gt;&lt;p&gt;Piers, I'm going to mark this as fixed since another user confirmed the issue.&amp;nbsp;&amp;nbsp;You can reach me on MSN Messenger directly at &amp;quot;support@geoframeworks.com&amp;quot; if you encounter anything else.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue197.aspx</link><pubDate>Thu, 20 Nov 2008 13:13:26 GMT</pubDate></item><item><title>Issue #198 (Released): License Key error with GPS.NET 2.0</title><description>&lt;b&gt;Thursday, November 20, 2008 at 9:51:49 AM by Alan Walters&lt;/b&gt;&lt;p&gt;After updating to the newest GPS.NET, every time I open project in VS2008 it sends me to the License page and closes VS. I have opened the AssemblyInfo.vb seperately to verify the keys and they are correct. Note the GPS.NET sample app will open.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, November 20, 2008 at 10:15:17 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Alan, recent changes to the build system combined the licensing system of Desktop Framework 2.0 and Desktop Framework 3.5.&amp;nbsp;&amp;nbsp;This had the side-effect of breaking licensing for VS2005.&amp;nbsp;&amp;nbsp; A fix is now being tested and should be published within the hour.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, November 20, 2008 at 10:53:20 AM by Alan Walters&lt;/b&gt;&lt;p&gt;I am using VS2008 and 3.5 sp1&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, November 20, 2008 at 11:31:26 AM by Jon Person&lt;/b&gt;&lt;p&gt;Thanks, Alan.&amp;nbsp;&amp;nbsp;I have a build in progress now and will test using your keys before it goes online.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, November 20, 2008 at 11:39:05 AM by Jon Person&lt;/b&gt;&lt;p&gt;I've confirmed your licenses keys are working.&amp;nbsp;&amp;nbsp;I am now testing the live build to ensure consistency.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, November 20, 2008 at 11:44:59 AM by Jon Person&lt;/b&gt;&lt;p&gt;Looks good.&amp;nbsp;&amp;nbsp;Alan, you can resolve this issue by downloading the latest build.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue198.aspx</link><pubDate>Thu, 20 Nov 2008 11:44:59 GMT</pubDate></item><item><title>Issue #199 (Behavior Is By Design): Web site looks weird in Google Chrome</title><description>&lt;b&gt;Thursday, November 20, 2008 at 10:41:08 AM by Jon Person&lt;/b&gt;&lt;p&gt;Google Chrome, which is currently in beta, has problems with any PNG image which uses partial transparency.&amp;nbsp;&amp;nbsp;This also includes CSS styles such as &amp;quot;opacity&amp;quot; which programmatically create transparency in web site elements.&amp;nbsp;&amp;nbsp;The latest release of the GeoFrameworks web site on November 16th vastly improves browser compatibility and compliance with CSS, but it also relies more heavily on PNG and transparency.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, November 20, 2008 at 10:42:50 AM by Jon Person&lt;/b&gt;&lt;p&gt;An issue has been reported with the Google Chrome team.&amp;nbsp;&amp;nbsp;Developers should remember that this browser is still in beta.&amp;nbsp;&amp;nbsp;Since we rely so heavily on partial transparency, and since Google may soon repair this bug, we're going to leave styles as they are instead of trying for a workaround for the whole web site.&amp;nbsp;&amp;nbsp;The new site still looks consistent in FireFox, IE7, IE8, and Opera.&amp;nbsp;&amp;nbsp;(Opera has its own problems with JavaScript, but that's another story.)&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue199.aspx</link><pubDate>Thu, 20 Nov 2008 10:42:50 GMT</pubDate></item><item><title>Issue #171 (Behavior Is By Design): "Keep me signed in for thirty days" does not work.</title><description>&lt;b&gt;Thursday, October 16, 2008 at 11:52:43 AM by  &lt;/b&gt;&lt;p&gt;Keep me signed in for thirty days feature if this web site during login does not work - I have to sign in every time.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 4:45:29 PM by Jon Person&lt;/b&gt;&lt;p&gt;I believe there's a problem trying to make cookies that work both for SSL and non-SSL modes.&amp;nbsp;&amp;nbsp;At any rate, I appreciate the issue report and will work on improving that feature.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue171.aspx</link><pubDate>Mon, 17 Nov 2008 16:45:29 GMT</pubDate></item><item><title>Issue #195 (Released): Refine text labeling for small scales.</title><description>&lt;b&gt;Tuesday, November 18, 2008 at 1:35:24 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Text style drawing at small scales (~1 meter per pixel) gets distorted. This is in most part due to floating point precision errors resulting from transforming projected coordinates. Small scale labels, such as street names, need to be drawn with much higher precision.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue195.aspx</link><pubDate>Tue, 18 Nov 2008 13:35:24 GMT</pubDate></item><item><title>Issue #192 (Released): Map.PositionAt(int x, int y) returns invalid coodiantes (when map is rotated)</title><description>&lt;b&gt;Tuesday, November 18, 2008 at 12:17:24 AM by Olle Pettersson&lt;/b&gt;&lt;p&gt;On Compact Framework,&lt;br /&gt;&lt;br /&gt;If the Map's Rotation property is set to not zero we get invalid coordinates from the Map.PositionAt(int x, int y) method.&lt;br /&gt;&lt;br /&gt;We are using the default Projection. if the map is unrotated, this is the return position:&lt;br /&gt;DisplayMap.PositionAt(e.X, e.Y)&lt;br /&gt;{34&amp;#176;41'02.4897&amp;quot;N,135&amp;#176;29'42.6045&amp;quot;E}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_Latitude: {34&amp;#176;41'02.4897&amp;quot;N}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_Longitude: {135&amp;#176;29'42.6045&amp;quot;E}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsEmpty: false&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Latitude: {34&amp;#176;41'02.4897&amp;quot;N}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Longitude: {135&amp;#176;29'42.6045&amp;quot;E}&lt;br /&gt;&lt;br /&gt;If the Map is rotated the return position is:&lt;br /&gt;DisplayMap.PositionAt(e.X, e.Y)&lt;br /&gt;{135&amp;#176;28'28.4632&amp;quot;S,034&amp;#176;41'25.3091&amp;quot;E}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_Latitude: {135&amp;#176;28'28.4632&amp;quot;S}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_Longitude: {034&amp;#176;41'25.3091&amp;quot;E}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsEmpty: false&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Latitude: {135&amp;#176;28'28.4632&amp;quot;S}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Longitude: {034&amp;#176;41'25.3091&amp;quot;E}&lt;br /&gt;&lt;br /&gt;e.X, e.Y are from a mouse click at the same location in the map (within around 100 meters)&lt;br /&gt;&lt;br /&gt;Map.PostionAt() seems to work properly only for rotation of 0, 90, 180 and 270 degrees.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, November 18, 2008 at 6:54:20 PM by Phil Smith&lt;/b&gt;&lt;p&gt;More revisions to the CF's implementation of the Matrix. Neo would be proud.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue192.aspx</link><pubDate>Tue, 18 Nov 2008 18:54:20 GMT</pubDate></item><item><title>Issue #190 (Released): Label with Empty String causes System.DivideByZeroException</title><description>&lt;b&gt;Monday, November 17, 2008 at 5:13:29 PM by Olle Pettersson&lt;/b&gt;&lt;p&gt;In the Sample for Compact Framework 3.5 that comes with the latest installer the Text property for the Airplane is set to String.Empty. this causes a System.DivideByZeroException to be thrown at runtime. Probably because the TextStyle tries to find the midpoint of the empty string.&lt;br /&gt;&lt;br /&gt;This is the full exception:&lt;br /&gt;&lt;br /&gt;System.DivideByZeroException was unhandled&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;DivideByZeroException&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Drawing.Styles.TextStyle.GetTextGlyph(String text, Angle angle)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Drawing.Styles.TextStyle.OnPaint(GraphicsContext context, String text, Angle alignment, RectangleF rectangle)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.LabeledMarker.PaintImageWithText(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicPath.OnPaint(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicObject.InvokePaint(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.Layer.OnPaint(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicObject.InvokePaint(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.DrawDirect()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.Repaint()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.OnResize(EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.WnProc(WM wm, Int32 wParam, Int32 lParam)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.Run(Form fm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at SmartDeviceProject3.Program.Main()&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, November 18, 2008 at 6:52:16 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Added a check for empty strings for CF versions&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue190.aspx</link><pubDate>Tue, 18 Nov 2008 18:52:16 GMT</pubDate></item><item><title>Issue #196 (Released): Out Of Memory exception reading particular ESRI Shapefiles.</title><description>&lt;b&gt;Tuesday, November 18, 2008 at 1:38:58 PM by Phil Smith&lt;/b&gt;&lt;p&gt;the EsriShapeFile class does not properly handle NulShape record types when encountered in an esri shapefile. A single shapefile can only contain one record type or the NullShape type.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, November 18, 2008 at 1:39:33 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Added handling for NullShapes when encountered in an otherwise legitimately formatted ESRI Shapefile.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue196.aspx</link><pubDate>Tue, 18 Nov 2008 13:39:33 GMT</pubDate></item><item><title>Issue #188 (Behavior Is By Design): Help with License Keys</title><description>&lt;b&gt;Tuesday, November 11, 2008 at 11:12:08 PM by Scott Collingwood&lt;/b&gt;&lt;p&gt;I have placed the license data in the assemblyinfo.vb file and my app runs fine on my development machine however when I deploy it to another machine I get an exception and the trail license webpage opens?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:00:09 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Scott, my apologies for the delay.&amp;nbsp;&amp;nbsp;This problem is usually caused when a license key for one of the plug-ins is missing.&amp;nbsp;&amp;nbsp;Most often this is the &amp;quot;GeoFramework.Gps.Controls&amp;quot; assembly.&amp;nbsp;&amp;nbsp;When the error occurs, it should mention the name of the unlicensed assembly in the title of the message.&lt;br /&gt;&lt;br /&gt;If it turns out to be a missing license key, let me know via email &amp;quot;jperson@geoframeworks.com&amp;quot; and I'll credit you a license key for this plug-in since I took so long to respond.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue188.aspx</link><pubDate>Mon, 17 Nov 2008 17:00:09 GMT</pubDate></item><item><title>Issue #194 (Released): Clock Control: Unable to change the color of the numeric "Hours" label</title><description>&lt;b&gt;Tuesday, November 18, 2008 at 9:55:35 AM by Jon Person&lt;/b&gt;&lt;p&gt;The Clock control exposes properties to help developers customize the look of user controls.&amp;nbsp;&amp;nbsp;However, for the Clock control, no property is available which allows for customization of the &amp;quot;Hours&amp;quot; numeric label.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, November 18, 2008 at 9:56:11 AM by Jon Person&lt;/b&gt;&lt;p&gt;A property has been added called &amp;quot;ValueColor&amp;quot; which adds this functionality.&amp;nbsp;&amp;nbsp; This new property will be available both as part of GPS.NET 2.0, as well as in the &amp;quot;hybrid&amp;quot; assembly for GIS.NET 3.0.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue194.aspx</link><pubDate>Tue, 18 Nov 2008 09:56:11 GMT</pubDate></item><item><title>Issue #193 (Released): New ScaledImageStyle causing OOM Exception (Compact Framework)</title><description>&lt;b&gt;Tuesday, November 18, 2008 at 1:10:20 AM by Olle Pettersson&lt;/b&gt;&lt;p&gt;I downloaded an update to GIS.NET for the Compact Framework. We used the ScaledImageStyle with a fixed Size specified for our labels earlier. I suppose we should use ImageStyle for this purpose instead now.&lt;br /&gt;&lt;br /&gt;But I found that if I keep on using the ScaledImageStyle I frequently get OutOfMemoryException after zooming in and out for a while. I am using a test application we have which is basically just a Form and a GeoFramework.Gis.Map with 100-200 Shapes and 10-20 ImageMarkers loaded into it.&lt;br /&gt;&lt;br /&gt;This worked without problem before upgrading to the latest version of GIS.NET and our WinCe device has 256MB of physical memory so the process should have no problem allocating memory for itself.&lt;br /&gt;&lt;br /&gt;Also if I look in the Stack Trace of the exception, it looks like a new bitmap object is being constructed each time the ImageStyle renders.&lt;br /&gt;&lt;br /&gt;Exception:&lt;br /&gt;&lt;br /&gt;System.OutOfMemoryException was unhandled&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;OutOfMemoryException&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.AGL.Common.MISC.HandleAr(PAL_ERROR ar)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Drawing.Styles.ImageStyle.OnPaint(GraphicsContext context, RectangleF rectangle)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Drawing.Styles.ScaledImageStyle.OnPaint(GraphicsContext context, RectangleF rectangle)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Drawing.Styles.ScaledImageStyle.OnPaint(GraphicsContext context, GraphicsPath path)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Drawing.Styles.Style.InvokePaint(GraphicsContext context, GraphicsPath path)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicPath.PaintExistingPath(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicPath.OnPaint(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicObject.InvokePaint(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.Layer.OnPaint(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at ZCT.GridManagement.ProjectedShapeLayer.OnPaint(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicObject.InvokePaint(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.Layer.OnPaint(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicObject.InvokePaint(GraphicsContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.DrawDirect()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.Repaint()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.Transpose(RectangleF projectedRectangle)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.Zoom(Percent percent)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.ZoomIn()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at ProjectedMapViewerCF.Form1.plus_Click(Object sender, EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.OnClick(EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Button.OnClick(EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Application.Run(Form fm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at ProjectedMapViewerCF.Program.Main()&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, November 18, 2008 at 2:14:52 AM by Phil Smith&lt;/b&gt;&lt;p&gt;A change was made to defer to the base (ImageStyle) for drawing to take advantage of caching. However, it appears this led to more memory usage than intended. Changed the base so there's no caching of images in the CF.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, November 18, 2008 at 2:16:48 AM by Olle Pettersson&lt;/b&gt;&lt;p&gt;I saw that in Issue#187 there was talk about adding Fixed Size Styles and changing the Behavior of ScaledImageStyle so this is probably being addressed right now.&lt;br /&gt;&lt;br /&gt;At low zoom levels the ScaledImageStyles actually start to change size even if a fixed size specified. also if the map is rotated, the images change size.&lt;br /&gt;&lt;br /&gt;I suppose this will all be taken care of with the new FixedSize Styles. When can we expect to see those in GIS.NET?&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue193.aspx</link><pubDate>Tue, 18 Nov 2008 02:16:48 GMT</pubDate></item><item><title>Issue #191 (Released): DbaseReader.GetString() returns name value regardless of ordinal.</title><description>&lt;b&gt;Monday, November 17, 2008 at 6:07:01 PM by Jon Person&lt;/b&gt;&lt;p&gt;Calls made to the GetString method of the DbaseReader class would return the same value even if different column indeces were specified.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 6:07:20 PM by Jon Person&lt;/b&gt;&lt;p&gt;The internal code for GetString was using the index of the &amp;quot;title column&amp;quot; instead of the parameter supplied.&amp;nbsp;&amp;nbsp;This is now fixed.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue191.aspx</link><pubDate>Mon, 17 Nov 2008 18:07:20 GMT</pubDate></item><item><title>Issue #155 (Behavior Is By Design): Compact Framework Examples Can't Deploy.   Tiles Use Up All the Storage.</title><description>&lt;b&gt;Thursday, September 11, 2008 at 6:23:37 AM by  &lt;/b&gt;&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;We are doing some mobile device development in VS2005.&amp;nbsp;&amp;nbsp;The PDA we are using is running Windows Mobile 5.&amp;nbsp;&amp;nbsp;We are especially interested in the TileSet feature as this will hopefully give us the GIS performance we are looking for.&amp;nbsp;&amp;nbsp;Right now I am testing the compact framework 2.0 examples and receiving a strange error when deploying to the PDA.&amp;nbsp;&amp;nbsp;Firstly I want to confirm this sample does use the TileSet class (based on the Tiles folder with all the .png files).&amp;nbsp;&amp;nbsp;When debugging or deploying to Windows Mobile 5 Pocket PC Device I get the error &amp;quot;An existing connection was forcibly closed by the remote host.&amp;quot;&amp;nbsp;&amp;nbsp;Any help would be greatly appreciated as we are hoping to make a purchasing decision soon.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 11, 2008 at 12:58:49 PM by Jon Person&lt;/b&gt;&lt;p&gt;Yes, that's right, the Tileset class is used on the Compact Framework.&amp;nbsp;&amp;nbsp;the major difference in behavior, however, is that Tilesets on the Compact Framework cannot generate new tiles, only open existing ones.&amp;nbsp;&amp;nbsp;What we intend for developers to do is copy the entire tile folder to a mobile device.&amp;nbsp;&amp;nbsp;Or, at the very least, copy the &amp;quot;_Tileset Configuration.xml&amp;quot; file along with at least a few tiles.&amp;nbsp;&amp;nbsp;I think some developers forget this configuration file, which explains why things don't load.&amp;nbsp;&amp;nbsp;But, this config file tells GIS.NET which map projection is used by the tileset, which ensures that any new information lines up properly with the tiles.&lt;br /&gt;&lt;br /&gt;The &amp;quot;existing connection was closed forcibly&amp;quot; is a network error, so this doesn't seem like an error in our framework directly.&amp;nbsp;&amp;nbsp;The only time we make internet calls is when licensing fails.&amp;nbsp;&amp;nbsp;We attempt to open a browser to the free-trial licensing page to help developers quickly activate a trial and get back to their coding.&amp;nbsp;&amp;nbsp;I'm curious if you have keys specified in the AccemblyInfo?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 11, 2008 at 1:26:31 PM by Jon Person&lt;/b&gt;&lt;p&gt;I'd also like to point out that we have a free update being released soon which adds performance enhancements for both the desktop and mobile devices.&amp;nbsp;&amp;nbsp;Hopefully that'll be out before the 15th.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, September 12, 2008 at 10:43:07 AM by  &lt;/b&gt;&lt;p&gt;Thanks for your quick response.&amp;nbsp;&amp;nbsp;I do have the trial license keys in AssemblyInfo.cs.&amp;nbsp;&amp;nbsp;I finally got it to work by creating a new Windows Mobile 5 project in VS2005 and then copied everything from the original example to the new project.&amp;nbsp;&amp;nbsp;It runs nicely on the PDA.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, October 22, 2008 at 3:19:21 AM by  &lt;/b&gt;&lt;p&gt;I am experiencing the same problem as described by the original poster, when trying to deploy the (unchanged) .NET CF 2.0 example program on a Windows Mobile 6 device. My error message is localized into Swedish, but it is a literal translation of the error message posted above, &amp;quot;An existing connection was forcibly closed by the remote host.&amp;quot;. The license keys are in the AssemblyInfo.cs and I have tried the solution the previous poster recommended with creating a new project and copying the example code into that. No success though. It should be noted that I am behind an extremely locked down proxy (government agencies... sigh), but this still shouldn't affect the communication with the mobile device via USB one should think.. Any suggestions as to what I might try next? I'm currently evaluating a number of GIS products for mobile devices for a possible project, and would very much like to be able to try your product as well. Thank you.&lt;br /&gt;&lt;br /&gt;Karl Bengtsson&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, October 22, 2008 at 7:04:18 AM by  &lt;/b&gt;&lt;p&gt;It turns out that this is in fact caused by the attempted deployment of the 600 or so tiles in the example program to the handheld unit, which seems to overwhelm it (or Visual Studio, I don't know which). Moving these files over to the deployment path on the device manually and removing them from the project solved the issue for me. I'm using Visual Studio 2005 and a TDS NOMAD.&lt;br /&gt;&lt;br /&gt;Karl Bengtsson&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:40:09 PM by Jon Person&lt;/b&gt;&lt;p&gt;My apologies for the delay in handling this issue.&amp;nbsp;&amp;nbsp;You (and everyone) are welcome to get ahold of me directly using Windows Live Messenger.&amp;nbsp;&amp;nbsp;My support contact is &amp;quot;support@geoframeworks.com.&amp;quot;&lt;br /&gt;&lt;br /&gt;It sounds like the target device in some cases does not have the memory necessary to store all of the tiles.&amp;nbsp;&amp;nbsp;We might reduce the number of tiles for future demos, but this might turn some developers off when they zoom in and the screen suddenly goes white (because no tiles exist).&amp;nbsp;&amp;nbsp;It's a bittersweet trade-off.&lt;br /&gt;&lt;br /&gt;I sure would like to see mobile devices leap forward in processing power so we don't have to fight extremely limited CPU and memory resources.&amp;nbsp;&amp;nbsp;In fact, I bet anyone reading this would just as soon do away with the Compact Framework entirely and get some real power on a mobile device for a change.&amp;nbsp;&amp;nbsp; My Nintendo has more power it seems.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue155.aspx</link><pubDate>Mon, 17 Nov 2008 17:40:09 GMT</pubDate></item><item><title>Issue #136 (Behavior Is By Design): GPS.NET Support for Treo 800w?</title><description>&lt;b&gt;Tuesday, August 26, 2008 at 1:18:10 PM by Tom Bulatewicz&lt;/b&gt;&lt;p&gt;Hello!&lt;br /&gt;&lt;br /&gt;When I compile and run the example project (GeoFrameworks\GPS.NET 2.0\Compact Framework 3.5\PocketPC\Examplex\C#), it does not find the GPS on a Treo 800w.&lt;br /&gt;&lt;br /&gt;Any thoughts?&lt;br /&gt;&lt;br /&gt;Thanks!&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, September 03, 2008 at 8:13:39 AM by Tom Bulatewicz&lt;/b&gt;&lt;p&gt;I forgot to mention that other GPS apps run just fine.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 12:19:46 PM by Eric Renken&lt;/b&gt;&lt;p&gt;Anything happening with this bug?&amp;nbsp;&amp;nbsp;We are still having issues with it.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 1:12:45 PM by Jon Person&lt;/b&gt;&lt;p&gt;My apologies for the delays on getting an update to this issue.&amp;nbsp;&amp;nbsp;We're currently rearchitecting the communications functionality for GPS.NET for version 3.0 so it's causing a bit aof a backlog regarding devices.&amp;nbsp;&amp;nbsp; Let's see if we can track down the specific COM: port and baud rate used by the Treo 800W.&amp;nbsp;&amp;nbsp;If we can find this, then we'll be able to open a direct connection to the Treo and test for data.&amp;nbsp;&amp;nbsp;Do you have a technical specs document handy for this device?&amp;nbsp;&amp;nbsp;This is usually where such settings are described.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Once we find the settings, we can attempt a manual connection like this:&lt;br /&gt;&lt;br /&gt;[C#]&lt;br /&gt;using GeoFramework.IO.Serial;&lt;br /&gt;&lt;br /&gt;SerialStream device = new SerialStream(CommunicationPort.Com_____, BaudRate.Baud_______);&lt;br /&gt;NmeaInterpreter interpreter = new NmeaInterpreter(device);&lt;br /&gt;&lt;br /&gt;... if you can post your settings that'll help me get to the bottom of this issue.&amp;nbsp;&amp;nbsp;In rare cases a device uses a non-standard baud rate which requires some extra code to get GPS.NET to pick up.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, September 07, 2008 at 12:42:50 PM by Tom Bulatewicz&lt;/b&gt;&lt;p&gt;Hi Jon. Thank you for your quick reply. The “GPS hardware port” in the GPS Settings is set to something called “Internal GPS device” and not set to one of the COM ports. It’s unusual in that in all other devices I’ve seen, there’s just a list of COM ports there, but this one has an extra item in the list that is not a COM port, and that’s the only one that works. If we set the hardware port to any other COM port in the list (0-9) the GPS does not work.&lt;br /&gt;&lt;br /&gt;For our testing we’re using a simple app that just calls the gpsapi.dll functions directly (GPSOpenDevice(), etc), which, again, only works when the hardware port is set to the “Internal GPS device” item, but it does work. (it’s the sample project in Windows Mobile 6 SDK/Samples/CS/GPS).&lt;br /&gt;&lt;br /&gt;Is there a way to tell the GeoFrameworks interpreter to just access the intermediate driver like this sample app does, which doesn’t appear to require figuring out the actual COM port?&lt;br /&gt;&lt;br /&gt;Also, there’s no detailed information about the Treo800w available on Palm’s developer website. I’ve posted to their discussion board asking about the COM port and baud rate, but I am not hopeful of getting a reply. They’re having a webinar on the 10th dedicated to the 800w when I may be able to actually ask the Palm folks about it directly.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, September 12, 2008 at 2:37:08 PM by Tom Bulatewicz&lt;/b&gt;&lt;p&gt;Hi Jon. The “Internal GPS Device” is actually in the “GPS hardware port” among the other COM ports (strange, huh?). Just to be clear, these are the settings inside of GPS Settings on the Treo 800w when the GPS is working:&lt;br /&gt;&lt;br /&gt;GPS Settings:&lt;br /&gt;Programs tab: GPS program port is set to GPD1&lt;br /&gt;Hardware tab: GPS hardware port is set to “Internal GPS device” and the baud rate is grayed-out at 4800&lt;br /&gt;Access tab: Manage GPS automatically is checked&lt;br /&gt;&lt;br /&gt;Thanks for your help on this, we really appreciate it.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, September 12, 2008 at 2:37:48 PM by Tom Bulatewicz&lt;/b&gt;&lt;p&gt;Hi Jon. I just watched Sprint/Palm’s webcast on the Treo800w. I asked them about the GPS COM port. They asked Palm directly and Palm said that the GPS is hooked into COM8, but interestingly if you set the “GPS hardware port” to COM8 instead of “Internal GPS device” the GPS doesn’t work. So apparently Palm doesn’t even know.&lt;br /&gt;&lt;br /&gt;I posted to Palm’s developer forum and got an interesting reply. He said that you can find out which COM port each item in the “GPS hardware port” list actually hooks to. See the site:&lt;br /&gt;http://msdn.microsoft.com/en-us/library/ms889972.aspx&lt;br /&gt;&lt;br /&gt;When I look at what COM port the “Internal GPS device” is set to in the registry, it says that the name of the COM port (or what the reg entry calls the “CommPort”) is called “GPP0:”. For the other entries in this registry key, the COM ports are “COM9:” “COM8:” etc.&lt;br /&gt;&lt;br /&gt;To test this, I modified our app to specifically use GPP0. (SerialDevice device = new SerialDevice(&amp;quot;GPP0:&amp;quot;, BaudRate.Baud4800);) but it still does not work.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, October 24, 2008 at 7:03:53 AM by Nathan Ash&lt;/b&gt;&lt;p&gt;Hi All;&lt;br /&gt;&lt;br /&gt;I am having the same issue... cannot get the C# example to work on Treo800W... did someone find a solution yet?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, November 04, 2008 at 2:01:58 PM by Tom Bulatewicz&lt;/b&gt;&lt;p&gt;The C# example won't work. You need to:&lt;br /&gt;&lt;br /&gt;1) Set the GPS program port (in Settings-&amp;gt;GPS Manager) to GPD1&lt;br /&gt;2) In your code, open that port specifically:&lt;br /&gt;SerialDevice device = new SerialDevice(&amp;quot;GPD1:&amp;quot;, BaudRate.Baud4800);&lt;br /&gt;&lt;br /&gt;Then have your interpreter object use that serial device and it'll work.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:17:07 PM by Jon Person&lt;/b&gt;&lt;p&gt;Guys, you are great to post your workaround solution here.&amp;nbsp;&amp;nbsp;I should credit your accounts for being helpful!&lt;br /&gt;&lt;br /&gt;It appears that the Treo 800W is missing registry keys that GPS.NET normally looks for to identify the correct program port.&amp;nbsp;&amp;nbsp;Specifically, GPS.NET looks for the following registry values:&lt;br /&gt;&lt;br /&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;HKLM\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CommPort&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Baud&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InterfaceType&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(should be &amp;quot;Comm&amp;quot;)&lt;br /&gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;&lt;br /&gt;... if you're not using a proprietary GPSID driver, you can set the port like this:&lt;br /&gt;&lt;br /&gt;GeoFramework.IO.Devices.SharedGpsDevice.SharedPortName = &amp;quot;GPD1:&amp;quot;;&lt;br /&gt;&lt;br /&gt;... if you're using a proprietary driver, this code will have no effect (as registry writes are forbidden in such cases)&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue136.aspx</link><pubDate>Mon, 17 Nov 2008 17:17:07 GMT</pubDate></item><item><title>Issue #170 (Cannot Reproduce): InvalidOperationException during Devices.Detection()</title><description>&lt;b&gt;Thursday, October 16, 2008 at 11:07:18 AM by  &lt;/b&gt;&lt;p&gt;Occasionally, I got an exception during detection of GPS devices:&lt;br /&gt;&lt;br /&gt;System.InvalidOperationException: Kolekce byla upravena. Operace v&amp;#253;ctu pravdepodobne nebude spuštena.&lt;br /&gt;&amp;nbsp;&amp;nbsp; v System.Collections.ArrayList.ArrayListEnumeratorSimple.MoveNext()&lt;br /&gt;&amp;nbsp;&amp;nbsp; v GeoFramework.IO.Device.DetectThreadProc()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My humble translation of the exception message: Collection has been modified. Enumeration cannot be probably performed.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:35:12 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm, this error would suggest that the collection is being accessed by multiple threads at once.&amp;nbsp;&amp;nbsp;This is strange, since we do employ lock statements judiciously to prevent this sort of behavior.&amp;nbsp;&amp;nbsp;Are you making any calls which access properties in the Devices class while detection is in progress?&amp;nbsp;&amp;nbsp;That could cause this problem.&lt;br /&gt;&lt;br /&gt;In GPS.NET version 3.0, this behavior will be improved because we've officialy declared the &amp;quot;foreach&amp;quot; statement as &amp;quot;evil for multithreading&amp;quot; and instead only use indexers.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue170.aspx</link><pubDate>Mon, 17 Nov 2008 17:35:12 GMT</pubDate></item><item><title>Issue #169 (Behavior Is By Design): GeoFramework.IO.Device.GetInterpreter throws an ArgumentNullException exception</title><description>&lt;b&gt;Thursday, October 16, 2008 at 10:29:52 AM by  &lt;/b&gt;&lt;p&gt;System.ArgumentNullException was unhandled&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;Hodnota nemuže b&amp;#253;t NULL.\r\nN&amp;#225;zev parametru: type&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Source=&amp;quot;mscorlib&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;ParamName=&amp;quot;type&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v GeoFramework.IO.Device.GetInterpreter()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v TrackEditor.Import.WPageGPSLogs.OnSettingActive() v E:\devel\UniVET\MainApp\TrackEditor\Import\WPageGPSLogs.cs:r&amp;#225;dek 46&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v Wizard.WizardPage.InvokeSettingActive() v E:\devel\UniVET\MainApp\Wizard\WizardPage.cs:r&amp;#225;dek 130&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v Wizard.WizardSheet.SetActivePage(WizardPage newPage) v E:\devel\UniVET\MainApp\Wizard\WizardSheet.cs:r&amp;#225;dek 293&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v Wizard.WizardSheet.PostChangePage(WizardPageEventArgs e) v E:\devel\UniVET\MainApp\Wizard\WizardSheet.cs:r&amp;#225;dek 361&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v Wizard.WizardSheet.nextButton_Click(Object sender, EventArgs e) v E:\devel\UniVET\MainApp\Wizard\WizardSheet.cs:r&amp;#225;dek 368&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Control.OnClick(EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Button.OnClick(EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Control.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Button.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Windows.Forms.Application.Run(Form mainForm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v TrackEditor.Program.Main(String[] args) v E:\devel\UniVET\MainApp\TrackEditor\Program.cs:r&amp;#225;dek 23&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Threading.ThreadHelper.ThreadStart_Context(Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v System.Threading.ThreadHelper.ThreadStart()&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:33:01 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm, it looks like the call to CreateInstance is returning a null value.&amp;nbsp;&amp;nbsp;This would occur if the Device itself has not been identified as a GPS device.&amp;nbsp;&amp;nbsp;In these cases, the protocol is not known, and therefore the method doesn't know which type of object to create.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I suggest removing calls to this method entirely, and instead focus on using an NmeaInterpreter object with a &amp;quot;GpsStream&amp;quot; as its data source.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue169.aspx</link><pubDate>Mon, 17 Nov 2008 17:33:01 GMT</pubDate></item><item><title>Issue #158 (Behavior Is By Design): GPS.NET 2.0 and GIS.NET 3.0 compact framework</title><description>&lt;b&gt;Wednesday, September 17, 2008 at 10:55:03 AM by  &lt;/b&gt;&lt;p&gt;Hi, I was wondering if closed issue #128 also applies to the compact framework.&lt;br /&gt;&lt;br /&gt;For the GPS.NET compact framework example, I used the 3 references that were installed with GPS.NET 2.0 :&amp;nbsp;&amp;nbsp;GeoFramework.PocketPC (1.4.3600.6), GeoFramework.Gps.PocketPC (2.3.3600.20), GeoFramework.Gps.Controls.PocketPC (1.3.3600.0).&amp;nbsp;&amp;nbsp;This works fine.&lt;br /&gt;&lt;br /&gt;GIS.NET 3.0 compact framework uses GeoFramework.PocketPC (2.0.3600.0).&amp;nbsp;&amp;nbsp;I tried using the Gps.PocketPC(2.4.3600.0) and Gps.Controls.PocketPC(1.4.3600.0) dlls that came with GIS.NET 3.0 compact framework but getting a MissingMethodException - File or assembly name 'GeoFramwork.Gps.PocketPC, Version=2.3.3600.20 .... or one of its dependencies, was not found.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:27:41 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm.&amp;nbsp;&amp;nbsp;I believe this issue has already been resolved in more recent builds, but just to round out this issue:&lt;br /&gt;&lt;br /&gt;Developers who are using both GIS.NET and GPS.NET together should use what we refer to as &amp;quot;hybrid&amp;quot; assemblies.&amp;nbsp;&amp;nbsp;The hybrid assemblies have the exact same codebase as GPS.NET, except that it's compiled against GeoFramework 2.0.0 instead of 1.4.7.&amp;nbsp;&amp;nbsp;Here's the steps to follow to use hybrid assemblies:&lt;br /&gt;&lt;br /&gt;1) Close Visual Studio&lt;br /&gt;2) Uninstall GPS.NET 2.0&lt;br /&gt;3) Install GIS.NET 3.0 from the download page (http://www.geoframeworks.com/DownloadProducts.aspx)&lt;br /&gt;4) Reload your project&lt;br /&gt;5) Look for GPS.NET references and remove them&lt;br /&gt;6) Add new references.&amp;nbsp;&amp;nbsp;You'll find them in Add References dialog, and they're also in the same install folder as GIS.NET references.&lt;br /&gt;&lt;br /&gt;... the GPS.NET hybrid will have a version of &amp;quot;2.4&amp;quot; (as of 11/17/08), and likewise the Control Toolbox will have a version of &amp;quot;1.4&amp;quot;.&amp;nbsp;&amp;nbsp;With these refs added, you can use GIS3 and GPS2 together, and drop the ref to GeoFramework 1.4.7 entirely.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue158.aspx</link><pubDate>Mon, 17 Nov 2008 17:27:41 GMT</pubDate></item><item><title>Issue #179 (Behavior Is By Design): Trying to make tileset based on existing external data</title><description>&lt;b&gt;Monday, October 27, 2008 at 6:02:51 AM by Peter van Rees&lt;/b&gt;&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;We have been using our own system of tilesets in our pocketPC applications for a long time. These tilesets consists of a meta file describing the projected bounding box and the zoomlevel of each of the images (tiles), and the actual (gif) images. These are already projected to the correct local projection system. &lt;br /&gt;&lt;br /&gt;Now I am trying to somehow port this functionality to GIS.NET. I thought I would start simple by just adding some picture shapes to a layer. Problem here was I couldn't figure out how to keep GIS.NET from projecting the already projected images, leaving me with pillow shaped images. I tried the IsProjectionLocked property, but that didn't do the job.&lt;br /&gt;&lt;br /&gt;The next approach I took was inheriting from tileset, and in the constructor reading the whole metadata file in order to be able to serve the proper tile on request. Problem here is I have no idea what the zoomlevel and x,y parameters stand for in the overridable TileExists and RetrieveTile functions. I would have expected to be able to override the GetTileCoordinates and GetZoomlevel functions, in order to get in control of the zoomlevel and x,y parameters, but they are not declared overridable.&lt;br /&gt;&lt;br /&gt;... long story, leading to the following questions:&lt;br /&gt;&lt;br /&gt;- How do I prevent Gis.NET from re-projecting already projected shapes of type Picture? &lt;br /&gt;&lt;br /&gt;- what do the zoomlevel and x,y parameters stand for in the tileset functions?&lt;br /&gt;&lt;br /&gt;- can i get in charge of them?&lt;br /&gt;&lt;br /&gt;- if so, what is the approach in determining the zoomlevel with only acces to the projectedrectangle, and not the pixelrectangle? (I would expect to determine the zoomlevel on a value like Distance/Pixel)&lt;br /&gt;&lt;br /&gt;- What approach would you recommend for my particular situation?&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;&lt;br /&gt;Peter&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:08:02 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Peter, hmm...&amp;nbsp;&amp;nbsp;the task of porting a custom Tileset to GIS.NET would be a bit tricky, at least from what I think.&amp;nbsp;&amp;nbsp;you see, we use a customized system to calculate &amp;quot;Tile Coordinates&amp;quot; for each tile, then use that mechanism to calculate the projected extent of any tile.&amp;nbsp;&amp;nbsp;To use a system like yours would probably not mesh well if, say, you were to inherit Tileset and design your own class.&amp;nbsp;&amp;nbsp;You could only do this if you could turn our tile coordinates back into your custom filename.&lt;br /&gt;&lt;br /&gt;The worst-case scenario woud be that you have to inherit from Layer and Picture to create a custom Tileset and Tile class, respectively.&amp;nbsp;&amp;nbsp;Perhaps you can discuss this more with me on MSN?&amp;nbsp;&amp;nbsp;I'm using my old account again (support@geoframeworks.com).&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue179.aspx</link><pubDate>Mon, 17 Nov 2008 17:08:02 GMT</pubDate></item><item><title>Issue #157 (Behavior Is By Design): Help wth GFW and VS2008 toolbox ...</title><description>&lt;b&gt;Sunday, September 14, 2008 at 6:48:07 PM by  &lt;/b&gt;&lt;p&gt;HI,&lt;br /&gt;&lt;br /&gt;I am currently evaluating your wonderful product.&lt;br /&gt;I can run your product to see what it does.&lt;br /&gt;&lt;br /&gt;However, as i am new to the MS programming&lt;br /&gt;environment, I am having some difficulties trying&lt;br /&gt;to use your product to create some trial projects.&lt;br /&gt;&lt;br /&gt;From the VS 2008 documentation, I suspect that&lt;br /&gt;you have used the Windows Form Designer to&lt;br /&gt;create the various user interfaces, before adding&lt;br /&gt;event handlers to the various GUI entities.&lt;br /&gt;&lt;br /&gt;How can I get the GIS/GPS controls into the toolbox ?&lt;br /&gt;(is this a right question to ask?) Seeing that zoomingform.cs&lt;br /&gt;is a partial class, that is accompanied by a designer.cs&lt;br /&gt;file, i suspect that there are corresponding gis/gps&lt;br /&gt;toolbox controls i can drag and drop into the designer?&lt;br /&gt;&lt;br /&gt;eg: the designer.cs form for zoomingform shows that&lt;br /&gt;contains map1 defined as GeoFrameWork.GIS.Map.&lt;br /&gt;&lt;br /&gt;how do i locate this control drag into the designer?&lt;br /&gt;&lt;br /&gt;also, sometimes, when i open the examples, i can&lt;br /&gt;see that there are gps controls, which implement&lt;br /&gt;things like speedometer; sometimes i don't see them&lt;br /&gt;in the toolbox?&lt;br /&gt;&lt;br /&gt;Please help, as I/my-company is serious about&lt;br /&gt;purchasing your product.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;sam&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 18, 2008 at 1:32:28 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Sam, thanks for your feedback and detailed message.&amp;nbsp;&amp;nbsp;Currently, the task of getting a control into the toolbox during an installer is complicated.&amp;nbsp;&amp;nbsp;It involves using COM to launch the Visual Studio IDE, then programmatically create a project using a template, then accessing the Toolbox window.&amp;nbsp;&amp;nbsp;We have a utility which performs these tasks but it is not 100% reliable given all the steps involved.&lt;br /&gt;&lt;br /&gt;Thankfully, you can modify the toolbox by hand, and this is the only sure-fire way to get controls into the toolbox.&amp;nbsp;&amp;nbsp;Here's how:&lt;br /&gt;&lt;br /&gt;1) Open Visual Studio&lt;br /&gt;2) Create a new project or open an existing project&lt;br /&gt;3) Open a Form &lt;br /&gt;4) Right-click anywhere inside of the Toolbox window, then select &amp;quot;Choose Items...&amp;quot;&lt;br /&gt;5) A dialog will apear which lists all known controls.&amp;nbsp;&amp;nbsp;Select the &amp;quot;Browse&amp;quot; tab.&lt;br /&gt;6) Navigate to the GeoFramework install directory, typically &amp;quot;\Program Files\GeoFrameworks, LLC&amp;quot;&lt;br /&gt;7) Navigate to the product, usually &amp;quot;GIS.NET 3.0&amp;quot; or &amp;quot;GPS.NET 2.0&amp;quot;&lt;br /&gt;8) Now... select the .NET Framework your project uses.&amp;nbsp;&amp;nbsp;&amp;quot;Compact Framework 3.5&amp;quot; for example, for VS2008 PDA projects.&lt;br /&gt;9) Select the assembly containing the controls you want.&lt;br /&gt;&lt;br /&gt;GeoFramework.Gps.dll - Contains the NmeaInterpreter control&lt;br /&gt;GeoFramework.Gps.Controls.dll - Contains the SatelliteViewer, Altimeter, Compass, Speedometer, and SatelliteSignalBar&lt;br /&gt;GeoFramework.Gis.dll - Contains the Map control&lt;br /&gt;&lt;br /&gt;... assemblies for mobile devices are the same as above, but have &amp;quot;.PocketPC&amp;quot; in their name.&amp;nbsp;&amp;nbsp;Select an assembly.&lt;br /&gt;&lt;br /&gt;10) Click &amp;quot;OK&amp;quot; to close the toolbox dialog.&amp;nbsp;&amp;nbsp;You will now see controls in the toolbox.&amp;nbsp;&amp;nbsp;Keep in mind that you may have to scroll the toolbox to see the control.&lt;br /&gt;11) Drag the control onto your form.&lt;br /&gt;&lt;br /&gt;That's it.&amp;nbsp;&amp;nbsp; Hopefully, in the future, Visual Studio will greatly simplify the task of programmatically adding controls, perhaps via the registry.&amp;nbsp;&amp;nbsp;This will improve the installation experience for all component developers.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue157.aspx</link><pubDate>Thu, 18 Sep 2008 13:32:28 GMT</pubDate></item><item><title>Issue #166 (Released): Merging Support for Visual Studio 2005 and 2008</title><description>&lt;b&gt;Friday, October 10, 2008 at 6:25:35 PM by Jon Person&lt;/b&gt;&lt;p&gt;Two recent events have triggered a rather significant change in the architecture of GeoFrameworks software.&amp;nbsp;&amp;nbsp;First, with the recent economic crisis on Wall Street in the USA, we are considering ways to do our part to stimulate the economy.&amp;nbsp;&amp;nbsp;Second, we've discovered how to build assemblies which work in both VS2005 and VS2008.&amp;nbsp;&amp;nbsp; We're still researching and testing this approach, but if we succeed, this will result in some significant changes:&lt;br /&gt;&lt;br /&gt;1. Assemblies will no longer install to &amp;quot;Desktop Framework 2.0&amp;quot; or &amp;quot;Desktop Framework 3.5&amp;quot; but a single &amp;quot;Visual Studio 2005/2008&amp;quot; folder.&lt;br /&gt;2. Version numbers on all assemblies will no longer contain a number identifying the target platform.&amp;nbsp;&amp;nbsp;Currently, versions were &amp;quot;x.x.3600.x&amp;quot; for VS2005 and &amp;quot;x.x.50727.x&amp;quot; for VS2008.&amp;nbsp;&amp;nbsp;This will change to more plain version numbers such as &amp;quot;2.0.0.0&amp;quot;.&lt;br /&gt;3. The licensing system will be modified so that all licensees for 2005 and/or 2008 will be able to use their license on both systems.&amp;nbsp;&amp;nbsp;This will essentially be an automatic free upgrade.&lt;br /&gt;4. The online shop will be modified to no longer sell licenses of 2005 and 2008 separately, but rather a joint license.&lt;br /&gt;&lt;br /&gt;... again, these changes are still being tested, but developers should be prepared in advance for the change.&amp;nbsp;&amp;nbsp;Worst case, developers may need to remove-and re-add form controls.&amp;nbsp;&amp;nbsp;We'll try hard to make this upgrade as smooth and automatic as possible.&lt;br /&gt;&lt;br /&gt;This change will not affect your source code whatsoever.&amp;nbsp;&amp;nbsp;It will only affect references and possibly Form controls.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue166.aspx</link><pubDate>Fri, 10 Oct 2008 18:25:35 GMT</pubDate></item><item><title>Issue #150 (Released): New Reduced Pricing for GIS.NET 3.0</title><description>&lt;b&gt;Friday, September 05, 2008 at 3:13:28 PM by Jon Person&lt;/b&gt;&lt;p&gt;Prices for GIS.NET 3.0 have been reduced to make us more competitive in the industry.&amp;nbsp;&amp;nbsp;As a side-effect however, the original discount amount is now greater than the new pricing :)&amp;nbsp;&amp;nbsp; We've adjusted discounts for people to keep them competitive; any money paid in is now returned as a discount towards upgrading, and we'll likely continue this policy for all products moving forward.&amp;nbsp;&amp;nbsp; I know many customers are counting on the discount and I believe the new approach still honors existing customers with deep discounts even though things have been restructured.&lt;br /&gt;&lt;br /&gt;In other news, a new RSS feed has been launched to help developers stay on top of pricing changes.&amp;nbsp;&amp;nbsp;This feed is updated in real-time and serves as a way to quickly notify people of changes.&amp;nbsp;&amp;nbsp;The new feed can be found via the shopping page (http://www.geoframeworks.com/shop) as well as directly here:&lt;br /&gt;&lt;br /&gt;http://www.geoframeworks.com/ShoppingRSS.aspx&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue150.aspx</link><pubDate>Fri, 05 Sep 2008 15:13:28 GMT</pubDate></item><item><title>Issue #178 (Behavior Is By Design): Using a Tileset With a Cache</title><description>&lt;b&gt;Friday, October 24, 2008 at 11:16:13 AM by  &lt;/b&gt;&lt;p&gt;Hello,&lt;br /&gt;&lt;br /&gt;After reading the Airplane example I am trying to follow the instructions to generate a Tileset on my desktop.&lt;br /&gt;&lt;br /&gt;I am loading a GeoTiff into an image, then adding the GeoTiff to the set and a cache with a background.&lt;br /&gt;&lt;br /&gt;No files are created in my tileset directory.&lt;br /&gt;&lt;br /&gt;Also, I was forced to create a _Tileset Configuration.xml file and place it in that directory or it complained that this file was missing.&lt;br /&gt;&lt;br /&gt;The documentation in the Airplane said this file would be generated.&amp;nbsp;&amp;nbsp;I've searched through the GIS.net help documentation and can't find any info.&lt;br /&gt;&lt;br /&gt;What am I doing wrong?&lt;br /&gt;&lt;br /&gt;There are no exceptions while running this code, just nothing happens.&lt;br /&gt;&lt;br /&gt; Image image = new Bitmap(@&amp;quot;C:\Projects\gpshdcp\courses\CT\RidgeField\RidgeFieldGolfCourse\RidgeFieldGolfCourse.tif&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GeoTiff geoTiff =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new GeoTiff(image);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tileset set = new Tileset(@&amp;quot;C:\Projects\gpshdcp\courses\CT\RidgeField\RidgeFieldGolfCourse\Tileset&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string tileDirectory = set.TileDirectory;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set.Add(geoTiff);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set.Projection = geoTiff.Projection;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cache cache = new Cache();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Set background to dark green&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Background background = new Background();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cache.Add(new Background());&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // cache.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set.Add(cache);&lt;br /&gt;&lt;br /&gt;Mike&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, October 28, 2008 at 7:59:30 AM by Peter van Rees&lt;/b&gt;&lt;p&gt;you add the cache to the set, i think you should do it the other way around:&lt;br /&gt;&lt;br /&gt;cache.Add(set)&lt;br /&gt;map.add(cache)&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, November 13, 2008 at 6:25:53 PM by Jon Person&lt;/b&gt;&lt;p&gt;Thanks for the response, Peter.&amp;nbsp;&amp;nbsp;I agree, the Cache object should be the &amp;quot;root&amp;quot; object in GIS.NET to get the best performance.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Cache cache = new Cache();&lt;br /&gt;cache.Add(&amp;nbsp;&amp;nbsp;[etc.]&amp;nbsp;&amp;nbsp;);&lt;br /&gt;cache.Add(&amp;nbsp;&amp;nbsp;[etc.]&amp;nbsp;&amp;nbsp;);&lt;br /&gt;cache.Add(&amp;nbsp;&amp;nbsp;[etc.]&amp;nbsp;&amp;nbsp;);&lt;br /&gt;map1.Add(cache);&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue178.aspx</link><pubDate>Thu, 13 Nov 2008 18:25:53 GMT</pubDate></item><item><title>Issue #186 (Behavior Is By Design): Device Detection on COM40</title><description>&lt;b&gt;Tuesday, November 11, 2008 at 4:08:35 PM by Alan Walters&lt;/b&gt;&lt;p&gt;While using Holux Bluetooth GPS receivers the default com port assignment is COM40 - The device detection only goes to COM20.&lt;br /&gt;&lt;br /&gt;It would be greatly appreciated if this could be expanded to go to COM40.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, November 14, 2008 at 9:34:26 AM by Alan Walters&lt;/b&gt;&lt;p&gt;Jon helped me with this by informing about the setting:&lt;br /&gt;&lt;br /&gt;GeoFramework.IO.Devices.MaximumSerialPortToScan = 40 &lt;br /&gt;&lt;br /&gt;and now it works great. Thanks Jon&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 17, 2008 at 5:00:29 PM by Jon Person&lt;/b&gt;&lt;p&gt;Thanks for following up on this with the solution, Alan!&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue186.aspx</link><pubDate>Mon, 17 Nov 2008 17:00:29 GMT</pubDate></item><item><title>Issue #189 (Released): Add an option to make a style always visaible, regardless of zoom.</title><description>&lt;b&gt;Friday, November 14, 2008 at 3:16:37 PM by Phil Smith&lt;/b&gt;&lt;p&gt;An option to make a style always visible will be added to the framework. It is not certain whether or not this option will be available for all styles or just fixed size styles (like ScaledImageStyle)&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue189.aspx</link><pubDate>Fri, 14 Nov 2008 15:16:37 GMT</pubDate></item><item><title>Issue #187 (Released): Text handling for labeled controls undergoing some significant improvements.</title><description>&lt;b&gt;Tuesday, November 11, 2008 at 6:49:14 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Several issues regarding object labeling on both the desktop and compact frameworks have been raised recently. Some new styles will be available for driawing fixed size style (perhaps a name change is in order for the existing ScaledImageStyle, which seems to be somewhat inaccurate) FixedImageStyle, FixedMarkerStyle, and FixedTextStyle will be added to the GeoFramework.Drawing.Styles namespace, replacing the existing Scaled styles of the same types. Additional handling has been added to ensure labels remain aligned to their scaled objects. I expect the changes to be released soon.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, November 12, 2008 at 6:38:26 AM by Jean Bédard&lt;/b&gt;&lt;p&gt;It would be great to have also the option to set &amp;quot;AlwaysVisible&amp;quot; to any of the scaled objects so that they are always visible on the map no matter what the zoom level is.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, November 14, 2008 at 3:10:52 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Severeal issues with scaled (fixed size) styles have been addressed. The main consideration was realigning scaled text with associated objects, even ScaledImageStyle objects, which in certain circumstances caused text to draw off screen due to inaccurate positioning. &lt;br /&gt;&lt;br /&gt;The &amp;quot;AlwaysVisible&amp;quot; will be added as a separate issue.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue187.aspx</link><pubDate>Fri, 14 Nov 2008 15:10:52 GMT</pubDate></item><item><title>Issue #180 (Released): GeographicRectangle.ToArray returns 8 positions</title><description>&lt;b&gt;Tuesday, October 28, 2008 at 3:07:34 AM by Peter van Rees&lt;/b&gt;&lt;p&gt;GeographicRectangle.ToArray returns 8 positions, I would expect a rectangle to consist of 4 positions?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, November 11, 2008 at 2:59:55 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Updated the ToArray method to just return the corners of the recttangle.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue180.aspx</link><pubDate>Tue, 11 Nov 2008 14:59:55 GMT</pubDate></item><item><title>Issue #185 (Released): ScaledImage Allows Images Smaller than the Minimum Size</title><description>&lt;b&gt;Monday, November 10, 2008 at 5:58:46 PM by  &lt;/b&gt;&lt;p&gt;I am trying to draw icons that do no scale.&amp;nbsp;&amp;nbsp;ScaledImage appears to be what I need (though the name seems backwards).&amp;nbsp;&amp;nbsp;When I attempt to provide a fixed size, or min/max sizes the icons still dissapear when I zoom out.&amp;nbsp;&amp;nbsp;I tried it with the sample app (tracking airplanes).&amp;nbsp;&amp;nbsp;I modified the AirplaneStyle:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public class AirplaneStyle : ScaledImageStyle&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public new static AirplaneStyle Default = new AirplaneStyle(); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;internal AirplaneStyle()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: base(Properties.Resources.Jet, new Size(100,100), new Size(200,200))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;I expected to see icons no smaller than 100x00 and no larger than 200x00 (sizes are huge for testing purposes!).&amp;nbsp;&amp;nbsp;When I start the app, the icons are bigger than normal, but when I zoom out they keep getting smaller... smaller... and finally they dissapear.&amp;nbsp;&amp;nbsp;What am I doing wrong?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 10, 2008 at 9:36:31 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Recent changes have been pushed for a new build. I've also verified the ScaledImageStyle behavior in the latest release is now&amp;nbsp;&amp;nbsp;working correctly&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue185.aspx</link><pubDate>Mon, 10 Nov 2008 21:36:31 GMT</pubDate></item><item><title>Issue #168 (Behavior Is By Design): Devices.CancelDetection Is Not Recommended to Improve Performance</title><description>&lt;b&gt;Thursday, October 16, 2008 at 9:09:59 AM by  &lt;/b&gt;&lt;p&gt;Hi,&lt;br /&gt;I use Devices.CancelDetection() method. Sometimes, after this, there remains a process of my application in the system (MS XP) and it cannot be killed (!?). Then, if I start my application (or the example application), the detection of GPS does not work. (I am connecting a Garmin GPS in the Gramin binary protocol mode.)&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, October 16, 2008 at 11:13:26 AM by  &lt;/b&gt;&lt;p&gt;More info: I use only GarminBinaryInterpreter, i.e.&lt;br /&gt;&lt;br /&gt;Devices.Interpreters.Clear();&lt;br /&gt;Devices.Interpreters.Add(typeof(GeoFramework.Gps.Garmin.GarminBinaryInterpreter));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;and Garmin eTrek GPS connected through Serial Port, which is connected to my computer through Serial -&amp;gt; USB cable.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, November 10, 2008 at 12:01:48 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hello, and my apologies for the delays.&amp;nbsp;&amp;nbsp;This Presidential Election absorbed a lot of our attention the past two months.&lt;br /&gt;&lt;br /&gt;CancelDetection is an aggressive method in the GPS.NET framework because it will fortcefully abort detection threads.&amp;nbsp;&amp;nbsp;Specifically, an attempt is made to gracefully abort detection threads, after which Thread.Abort() is called to terminate detection.&amp;nbsp;&amp;nbsp;The thing to keep in mind here is that GPS device detection involves several threads; in some cases as high as twenty!&amp;nbsp;&amp;nbsp;As a result, it is far preferable to allow detection to complete on its own instead of trying to agressively cancel and restart detection.&lt;br /&gt;&lt;br /&gt;The preferred approach to device detection is to *tune* detection instead of canceling it.&amp;nbsp;&amp;nbsp;In the case of Garmin GPS devices, a baud rate of 9600 is typically used.&amp;nbsp;&amp;nbsp;Changing the GeoFramework.IO.Devices.SerialBaudRates collection, for example, to have only the baud rates you actually use, can vastly improve detection speed.&amp;nbsp;&amp;nbsp; Other properties in the Devices class can speed up detection.&lt;br /&gt;&lt;br /&gt;For the fastest behavior, especially in a non-production environment, it is preferable to &amp;quot;pre-register&amp;quot; your GPS device using the GeoFramework.IO.Devices.RegisterGpsDevice() method.&amp;nbsp;&amp;nbsp;This method effectively foolks GPs.NET into thinking it has already detected a device.&amp;nbsp;&amp;nbsp;It can completely eliminate detection times.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue168.aspx</link><pubDate>Mon, 10 Nov 2008 12:01:48 GMT</pubDate></item><item><title>Issue #182 (Released): Setting the Rotation proprty somtimes causes thread contention.</title><description>&lt;b&gt;Friday, October 31, 2008 at 1:22:40 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Setting the Rotation property throws InvalidOperation exceptions. Added object locking to prevent this.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue182.aspx</link><pubDate>Fri, 31 Oct 2008 13:22:40 GMT</pubDate></item><item><title>Issue #181 (Released): Map.SuspendPaint method doesn't seem to work</title><description>&lt;b&gt;Friday, October 31, 2008 at 12:04:54 PM by Peter van Rees&lt;/b&gt;&lt;p&gt;I am resetting the style on a few hundred polygons, which triggers a repaint for every polygon and is obviously very slow. I thought I could speed things up by calling SuspendPaint on the map before resetting the styles, but this doesn't seem to do anything.&lt;br /&gt;&lt;br /&gt;I made a custom layer with a SuspendPaint method which blocks OnPaint and OnInvalidate and this does the job, which makes me think the SuspendPaint method on the map is not functioning?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, October 31, 2008 at 1:17:40 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The threading model for the Map control was changed to use separate threads, one for each map layer (Permanent, Movable and Decoration). Paint suspension at the time was overlooked, but has been refactored. A bug in the Rotation property setter that ocaisionally cause thread contention problems has also been fixed.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue181.aspx</link><pubDate>Fri, 31 Oct 2008 13:17:40 GMT</pubDate></item><item><title>Issue #176 (Released): GIS Drawing srchitecture will be split out into a separate library for use by both GIS.NET 3.0 and the upcoming GPS.NET 3.0.</title><description>&lt;b&gt;Thursday, October 23, 2008 at 4:11:48 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The GeoFramrework.Drawing dll will be split into 2 libraries; GeoFramework.Shapes.dll and Geoframework,Drawing.dll. This will facilitate the use of the GIS.NET 3.0&amp;nbsp;&amp;nbsp;drawing architechture in the upcoming GPS.NET 3.0. Current GIS.NET 3.0 developers will need to add a reference to the new GeoFramework.Shapes dll. No namespace or API changes will be made that would break existing code&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue176.aspx</link><pubDate>Thu, 23 Oct 2008 16:11:48 GMT</pubDate></item><item><title>Issue #177 (Behavior Is By Design): #175: only partly solved? How to make custom projection?</title><description>&lt;b&gt;Friday, October 24, 2008 at 4:16:38 AM by Peter van Rees&lt;/b&gt;&lt;p&gt;I was reviewing the fix for issue #175. The Amersfoort.RDNew projection seems to work fine, but the Amersfoort.RDOld still seems to give the same results as it did before the fix?&lt;br /&gt;&lt;br /&gt;One other thing:&lt;br /&gt;I have a very accurate conversion routine from wgs84 to Amersfoort.RD and back. Would it be feasible to somehow inherit from&amp;nbsp;&amp;nbsp;Amersfoort.RDNew and only override the projection/deprojection functions? What functions should be overriden in this case?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, October 24, 2008 at 1:02:13 PM by Phil Smith&lt;/b&gt;&lt;p&gt;I'm not certain RDOld is relevant here. It uses a different projection. Same projection type, different parameters. I wouldn't expect to get the same results from both. For you particular problem and the coordinate you supplied I used the RDNew projected system and the Variant2 transform:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// A projected system is needed to conver to and from lat/lon coordinates&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProjectedCoordinateSystem projectedSystemRD = Amersfoort.RDNew;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Many systems are shifted slightly due to the differences in ellipsoid shape/size from system to system&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// A coordinate system transform realigns coordinates from one system with the surface of another&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CoordinateSystemTransformation transformRDtoWGS84 = Amersfoort.Variant02;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// A projected coordinate in the RD system&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProjectedCoordinate coordRD = new ProjectedCoordinate(190250, 331177);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Deproject the coordinate to lat/lon&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Position positionRD = projectedSystemRD.Projection.ToPosition(coordRD);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// PositionRD is a lat/lon coordinate in the RD system, it needs to be shifted to WGS84&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Position positionWGS84 = transformRDtoWGS84.ToWGS84(positionRD);&lt;br /&gt;&lt;br /&gt;The expected result you supplied was 50&amp;#176;58'09,0887&amp;quot;N;005&amp;#176;53'20,4511&amp;quot;E&lt;br /&gt;The rusult from the transfor above is &amp;quot;50&amp;#176;58'09.0884&amp;quot;N,005&amp;#176;53'20.4510&amp;quot;E&amp;quot;&lt;br /&gt;&lt;br /&gt;The difference between RDOld and RDNew is significant enough that EPSG maintains separate system for each, therefore, one is correct and the other isn't. The same goes for the 2 variants of the ToWGS84 transform. I don't have any documentation to support which is right for your needs, I would need more information to make that assessment. However the comparative results suggest that the Amersfoort system is now working correctly.&lt;br /&gt;&lt;br /&gt;You can create your own projection by inheriting from Projection and you can create your own coordinate system transform simply by creating a new instance of the CoordinateSystemTransform class.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue177.aspx</link><pubDate>Fri, 24 Oct 2008 13:02:13 GMT</pubDate></item><item><title>Issue #175 (Released): Amersfoort coordinate systems employ the wrong projections</title><description>&lt;b&gt;Thursday, October 23, 2008 at 4:04:25 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The Amersfoort coordinate system was set up to use the Sterographic projection, but thsi is incorrect. An alternate ObliqueStereographic projection has been added and validated against test data.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue175.aspx</link><pubDate>Thu, 23 Oct 2008 16:04:25 GMT</pubDate></item><item><title>Issue #172 (Released): Implement FromEPSGNumber on the CF version of Geodesy.NET</title><description>&lt;b&gt;Friday, October 17, 2008 at 2:29:24 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Implemented FromEPSGNumber methods for the ProjectedCoordinateSystem and CoordinateSystemTransfoem objects in Geodesy.NET for the compact framework.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue172.aspx</link><pubDate>Fri, 17 Oct 2008 14:29:24 GMT</pubDate></item><item><title>Issue #80 (Released): Feature Request: Add TFW Support to GeoTiff Class</title><description>&lt;b&gt;Wednesday, June 25, 2008 at 2:58:43 AM by Marcel Suter&lt;/b&gt;&lt;p&gt;I have been trying to import a georeferenced TIFF. However I have only naked TIF's with acompanying TFW's. It would be nice if this was supported too, additional to the fully-fleged TIFF's with metatags.&lt;br /&gt;&lt;br /&gt;Since I have many files, this would be nice. (I am currently not aware of a tool that would automate this).&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, June 25, 2008 at 5:11:40 AM by Marcel Suter&lt;/b&gt;&lt;p&gt;I have now come across the tools geotifcp and listgeo from &lt;br /&gt;http://www.remotesensing.org/geotiff/faq.html#What%20is%20TIFF%20format?&lt;br /&gt;&lt;br /&gt;I have manually transformed my tifs and it works for me.&lt;br /&gt;&lt;br /&gt;I seems that there is a code library. Why not using that to provide a GeoTiff class that accepts a TFW, a TIF and a projection and then creates a GeoTiff (either as file for importing or direcly on the fly for loading into a layer/map)&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, October 15, 2008 at 2:44:31 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The documented GeoTiff writer methods have been implemented and re-enabled as well as added support for TIFF formats that GDI+ dooesn't seem to be able to decode. Let me know if you have further problems with any particulat GeoTiff image. psmith@geoframeworks.coim&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, October 17, 2008 at 2:25:03 PM by Phil Smith&lt;/b&gt;&lt;p&gt;...&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue80.aspx</link><pubDate>Fri, 17 Oct 2008 14:25:03 GMT</pubDate></item><item><title>Issue #86 (Released): Add Support for Writing ESRI Shapefiles</title><description>&lt;b&gt;Monday, June 30, 2008 at 3:08:32 PM by Ted Macy&lt;/b&gt;&lt;p&gt;As much as I agree with your position that Shapefiles are a lousy format, in my industry, it is imperative that we be able to write shapefiles in order to exchange data with the software applications from our competitors.&amp;nbsp;&amp;nbsp; They are married to shapefiles, and it is critical that our customers be able to export data in a format that can be used by the software that their customers might be using.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, July 02, 2008 at 12:37:07 PM by Jon Person&lt;/b&gt;&lt;p&gt;We decided to exclude the ability to write shapefiles for a couple of reasons.&amp;nbsp;&amp;nbsp;First, we were receiving emails from customers complaining that our files would not load in their application.&amp;nbsp;&amp;nbsp;Having no control or information over how each application treats shapefile content, we could only resort to a trial-and-error process to debug content.&amp;nbsp;&amp;nbsp;Second, while ESRI is a very common and fast-loading format, it is prone to several design flaws.&amp;nbsp;&amp;nbsp;For this reason we decided to nudge developers towards Geographic Markup Language, an XML standard for geospatial data which can be extended and can support any kind of data.&lt;br /&gt;&lt;br /&gt;With enough votes here we can add shapefile support back in, albeit reluctantly.&amp;nbsp;&amp;nbsp;If GIS developers can at least consider the advantages of moving towards a GML back-end and tile-set front end, then we can rest easier about supporting antiquated formats like ESRI.&lt;br /&gt;&lt;br /&gt;So, it would be great if other developers out there can chime in on this issue!&amp;nbsp;&amp;nbsp;If you'd like to see this support ressurrected, please add a comment here.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, July 31, 2008 at 4:33:17 AM by Olle Pettersson&lt;/b&gt;&lt;p&gt;TileSets are a good solution to rendering large detailed maps on a device but we see 2 problems that are keeping use from being using an image based TileSet solution at the moment.&lt;br /&gt;&lt;br /&gt;(1) The way the tiles get rendered on a device does not look as sharp as when they were generated, is there a way to fix this?&lt;br /&gt;&lt;br /&gt;(2) One major benefit we see with using vector data for rendering is that we get the ability to rotate our maps relatively easy. Is there no plans to use another format for the tiles like SVG? Otherwise we would have no choice but to go with shapefiles for this purpose.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, July 31, 2008 at 9:04:19 AM by Phil Smith&lt;/b&gt;&lt;p&gt;There's going to be some difference in rendering quality from the desktop to a device, that's just a fact of the technology. Tilesets are an option to provide speedy rendering of large datasets on a device. Shapefiles are still supported by GIS.NET 3.0 on devices and are the fastest option to load vector data. But there are no plans to write shapefiles at this time.&lt;br /&gt;&lt;br /&gt;Rotation is also fully operational in the compact versions os GIS.NET 3.0 except for the rotation of imagery, which is rediculously slow compared to a desktop. However you should have no problem rotating vector data at all.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, October 17, 2008 at 2:24:07 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Basic support for writing shapefiles has ben implemented in GIS 3.0. See EsriShapefile.Save()&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue86.aspx</link><pubDate>Fri, 17 Oct 2008 14:24:07 GMT</pubDate></item><item><title>Issue #93 (Behavior Is By Design): GDI+ is Unable to Write GeoTIFF tags</title><description>&lt;b&gt;Monday, July 07, 2008 at 3:40:00 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Apparently GDI+ doesn't know to recalculate offsets after PropertyItems are added to the Image. PropertyInfo has no public constructor, so it's hard to tell what's really going on. If thre's some internal implementation that we don't know about. Looks like a custom tiff reader/writer will be needed.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, July 07, 2008 at 4:57:29 PM by Jon Person&lt;/b&gt;&lt;p&gt;PropertyItem pi=(PropertyItem)Activator.CreateInstance(typeof(PropertyItem), true); &lt;br /&gt;&lt;br /&gt;... and yes, GDI+ is horrible, awful, full of &amp;quot;Generic Error&amp;quot; bugs.&amp;nbsp;&amp;nbsp;Seriously, what programmer can sleep at night after writing &amp;quot;Generic error&amp;quot; in their code?&amp;nbsp;&amp;nbsp;But yeah a writer should be okay for the desktop for now.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, October 15, 2008 at 2:51:43 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Duplicate&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue93.aspx</link><pubDate>Wed, 15 Oct 2008 14:51:43 GMT</pubDate></item><item><title>Issue #167 (Released): MapInfo reader not handling Text records</title><description>&lt;b&gt;Wednesday, October 15, 2008 at 8:07:11 AM by Phil Smith&lt;/b&gt;&lt;p&gt;Added default handling for text records in the MapInfo format.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue167.aspx</link><pubDate>Wed, 15 Oct 2008 08:07:11 GMT</pubDate></item><item><title>Issue #160 (Released): Documented static methods Create and CreateTo missing from GeoTiff class!</title><description>&lt;b&gt;Friday, September 19, 2008 at 2:05:27 PM by  &lt;/b&gt;&lt;p&gt;I can't georeference raster images programmatically since the needed methods seem not to be there, contrary to the online documentation.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, September 30, 2008 at 11:54:45 AM by Phil Smith&lt;/b&gt;&lt;p&gt;We were unable to implement geotiff encoding at the time GIS 3.0 was released, which is why they still appear in the documentation but were removed from the public API. GDI does not support saving image data with custom property items (which may be why there is no public constructor for the System.Drawing.Imaging.PropertyItem class) and also not all tiff files are recognized by GDI. We're in the process of incorporating a 3rd party image handling dll to accomidate the full implementation of GeoTiff that we had originally planned.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, October 13, 2008 at 1:42:31 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Full support for both reading and writing GeoTIFF imagry for the desktop framework is now available. The documented methods for creating GeoTIFF tagged images from images sources sith georeferencing information have been restored.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue160.aspx</link><pubDate>Mon, 13 Oct 2008 13:42:31 GMT</pubDate></item><item><title>Issue #163 (Behavior Is By Design): Problems with Device Discovery on Trimble</title><description>&lt;b&gt;Thursday, September 25, 2008 at 9:57:49 AM by Brendan Carroll&lt;/b&gt;&lt;p&gt;The following is my configuration:&lt;br /&gt;&lt;br /&gt;WinXP sp2&lt;br /&gt;VS .NET 2005&lt;br /&gt;.NET 2.0 sp1&lt;br /&gt;.NET 3.0 sp1&lt;br /&gt;GPS.NET 2.0&lt;br /&gt;Trimble ProXT&lt;br /&gt;Bluetooth v4.00.22(D) Toshiba Stack&lt;br /&gt;&lt;br /&gt;Referenced Assemblies:&lt;br /&gt;GeoFramework.dll 1.4.3600.7&lt;br /&gt;GeoFramework.Gps.Controls.dll 1.3.3600.0&lt;br /&gt;GeoFramework.Gps.dll 2.3.3600.20&lt;br /&gt;GeoFramework.Gps.Garmin.dll 1.2.3600.1&lt;br /&gt;&lt;br /&gt;History:&lt;br /&gt;&lt;br /&gt;I wrote a WinForms app a couple months back and everything was working as designed using bluetooth and NEMA. The GPS component would discover devices and recieve a NEMA signal and life was good. In fact, the app being used in the field on a toughbook and working.&amp;nbsp;&amp;nbsp;I recently went back to the app on my dev box and am unable to detect and recieve a signal. The Trimble unit is the same one originally used during dev and I'm able to use GPSController to connect to it via bluetooth and log output signals in NEMA format. However, when I try to run GPS.NET on my dev box it kicks off the bluetooth connection and the bluetooth icon changes but it never throws the device discover event and preceeds to cycle through all the ports. I look at the license object and everything checks out. I get the exact same result using the sample app provided by GF. &lt;br /&gt;&lt;br /&gt;Thx,&lt;br /&gt;-BC&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 25, 2008 at 11:39:43 AM by Brendan Carroll&lt;/b&gt;&lt;p&gt;I discovered the issue. It was the Trimble not pushing a NEMA signal on the correct port. Once i connected via serial and reset NEMA to a Bluetooth port it worked. The trick seemed to be that the reconfig had to happen over a serial connection to take. I was trying to reset the Trimble using Bluetooth only.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, October 09, 2008 at 9:48:48 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Brendan, nice work solving this issue, and thanks for taking the time to describe your solution!&amp;nbsp;&amp;nbsp;This helps us to code GPS.NET to behave more smoothly with all devices.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue163.aspx</link><pubDate>Thu, 09 Oct 2008 21:48:48 GMT</pubDate></item><item><title>Issue #161 (Released): Program not running after upgrade</title><description>&lt;b&gt;Sunday, September 21, 2008 at 6:58:44 AM by Martijn de Jong&lt;/b&gt;&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;I just downloaded and installed the last version of GPS.NET.&lt;br /&gt;After copying the three dll's (GeoFramework.PocketPC.dll, GeoFramework.Gps.PocketPC.dll and GeoFramework.Gps.Controls.PocketPC.dll) to my model, I did rebuild my complete solution in VS2008.&lt;br /&gt;But when I try to run the program I get the following message: &amp;quot;Can't load type GeoFramework.Gps.Nmea.NmeaInterpreter from assembly GeoFramework.Gps.PocketPC, Version=2.3.50727.20, Culture=neutral, PublicKeyToken=3ED3CDF4FDDA3400.&amp;quot;, from a System.MissingMethodException (I translated this from Dutch, so the message may be a little differnt in English).&lt;br /&gt;Any idea what is going wrong?&lt;br /&gt;&lt;br /&gt;Thanks in advance,&lt;br /&gt;Alex Kwak&lt;br /&gt;www.waarneming.nl&lt;br /&gt;&lt;br /&gt;PS. Could you reply to alex@zoefzoek.nl, as info@waarneming.nl is not read by me.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, October 09, 2008 at 9:44:19 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Alex, yes I'll reply to email regarding this issue.&amp;nbsp;&amp;nbsp;We recently made changes to the libraries which I believe caused this issue.&lt;br /&gt;&lt;br /&gt;Until about two weeks ago, our build box was limited to building assemblies targeting the x86 platform only.&amp;nbsp;&amp;nbsp;We resolved the issue, and assemblies can now operate on both 32-bit and 64-bit machines.&amp;nbsp;&amp;nbsp;However, this broke the references and also invalidated form controls in the examples.&amp;nbsp;&amp;nbsp;A build is being posted now which resolves all of these issues.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue161.aspx</link><pubDate>Thu, 09 Oct 2008 21:44:19 GMT</pubDate></item><item><title>Issue #165 (Released): Mouse events not firing without a base map loaded</title><description>&lt;b&gt;Wednesday, October 08, 2008 at 10:37:35 AM by Phil Smith&lt;/b&gt;&lt;p&gt;Geographic object mouse events wern't firing properly when no items were found in the map control mouse position hit test after previously registering a mouse event because the method exited without processing the previously selected items. For instance, a single marker exists on a map, the mouse is moved over the marker, generating a MouseEnter and a MouseMove for the marker. When the mouse leaves the marker, no results are returned from the hit test and the processing of events was halted. Changed so that processing continues on previously signaled items.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue165.aspx</link><pubDate>Wed, 08 Oct 2008 10:37:35 GMT</pubDate></item><item><title>Issue #162 (Released): Rotation not working at all on the CF</title><description>&lt;b&gt;Monday, September 22, 2008 at 8:30:55 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Per Olle Pettersson; &lt;br /&gt;&lt;br /&gt;In the project one Shapefile is loaded into the map. The map can be rotated 90 degrees. The map shows nothing when rotated, only when the rotation angle is 0 degrees does the shapes show up again (press the “Rotate 90” button to rotate the map a full 360 degrees). Zooming to the projected or geographical extent of the shapefile when the map is rotated does not help.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, September 22, 2008 at 8:31:34 PM by Phil Smith&lt;/b&gt;&lt;p&gt;There was an error in the rotation matrix calculation for the CF. It's working now.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue162.aspx</link><pubDate>Mon, 22 Sep 2008 20:31:34 GMT</pubDate></item><item><title>Issue #159 (Released): Assemblies Won't Work Under 64-bit Processors</title><description>&lt;b&gt;Thursday, September 18, 2008 at 1:11:57 PM by Jon Person&lt;/b&gt;&lt;p&gt;Due to a limitation of our build machines, we were only able to build assemblies targeting the 32-bit x86 processor architecture.&amp;nbsp;&amp;nbsp;This morning, however, this issue was resolved, and assemblies can now be run on both x86 and x64 processors.&amp;nbsp;&amp;nbsp;No specific optimizations have been made for each processor; we're just focusing on support at this point.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue159.aspx</link><pubDate>Thu, 18 Sep 2008 13:11:57 GMT</pubDate></item><item><title>Issue #156 (Released): Significant Performance Improvements Added</title><description>&lt;b&gt;Saturday, September 13, 2008 at 5:04:30 PM by Jon Person&lt;/b&gt;&lt;p&gt;The first phase of performance improvements has been successfully added to GIS.NET 3.0.&amp;nbsp;&amp;nbsp;This improvement drastically improves panning performance on both desktops and mobile devices.&amp;nbsp;&amp;nbsp;Developers do not need to make any code changes.&amp;nbsp;&amp;nbsp;The only change to consider is that Cache objects are no longer necessary in your code.&amp;nbsp;&amp;nbsp;In other words, you can (and should) now use a regular Layer object in your code; you'll still take advantage of performance improvements.&amp;nbsp;&amp;nbsp;You can still use a Cache object if you want, it just uses more memory than is really necessary.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue156.aspx</link><pubDate>Sat, 13 Sep 2008 17:04:30 GMT</pubDate></item><item><title>Issue #148 (Released): Problem with Rotation on CF</title><description>&lt;b&gt;Friday, September 05, 2008 at 1:03:51 AM by Olle Pettersson&lt;/b&gt;&lt;p&gt;In the latest release where map rotation is allowed in Compact Framework we are encountering 2 problems.&lt;br /&gt;&lt;br /&gt;1) Whenever we call Map.Add(GeographicObject item) the map still throws an ArgumentOutOfRangeException saying that &amp;quot;Rotation is not supported in CF&amp;quot;. This occurs even though we have set the AllowRotation property to true.&lt;br /&gt;&lt;br /&gt;2) The map does not render as expected after rotation. This is a bit harder to troubleshot I guess. We are loading only shapefiles into the map (with some points styled with ScaledImageStyles with static size). When we change the Rotation property, the Map control does not render the shapes any more. The whole Map control just turns blue for some reason.&lt;br /&gt;&lt;br /&gt;Also, when the map Rotation is set to not zero we tend to get weird values for the visible extent of the map if we pan the view around.&lt;br /&gt;&lt;br /&gt;DisplayMap.VisibleExtent. then has values like:&lt;br /&gt;&lt;br /&gt;&amp;quot;Upper Left 89&amp;#176;59'55.3962\&amp;quot;S,034&amp;#176;41'35.9008\&amp;quot;E, Upper Right 89&amp;#176;59'55.3962\&amp;quot;S,034&amp;#176;41'50.3813\&amp;quot;E, Lower Left 90&amp;#176;00'04.5966\&amp;quot;S,034&amp;#176;41'35.9008\&amp;quot;E, Lower Right 90&amp;#176;00'04.5966\&amp;quot;S,034&amp;#176;41'50.3813\&amp;quot;E&amp;quot;&lt;br /&gt;&lt;br /&gt;The map starts out zoomed in to street level so after a few pans, it should not be this wide.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, September 12, 2008 at 2:54:17 PM by Phil Smith&lt;/b&gt;&lt;p&gt;The AllowRotation property will allow you to both change the rotation and also add new image objects to the map after changing the rotation.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, September 12, 2008 at 2:55:29 PM by Phil Smith&lt;/b&gt;&lt;p&gt;AllowRotation now allows image objects to be added to a map after setting the Rotation as well as setting the rotation after adding an image object&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue148.aspx</link><pubDate>Fri, 12 Sep 2008 14:55:29 GMT</pubDate></item><item><title>Issue #119 (Released): Add Ability to Synchronize Painting for All Movable/Permanent Objects</title><description>&lt;b&gt;Wednesday, August 06, 2008 at 3:07:48 AM by Olle Pettersson&lt;/b&gt;&lt;p&gt;I have noticed that sometimes when panning the map around Movable Objects gets painted before the underlaying map has finished rendering. We subclass the Vehicle class for our user indicator and it looks a bit weird when we pan the map around.&lt;br /&gt;&lt;br /&gt;I understand the the reason for this is that the Maps and Vehicle get rendered on different threads but is there no way to to tell if the application has to wait for the maps to get rendered first (after a Pan) or if the underlaying maps are already 'valid' (ex. updating a user icon with GPS positions)&lt;br /&gt;&lt;br /&gt;Could there be a way to synchronize the rendering under circumstances like above when the maps have to be redrawn?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 2:56:41 PM by Jon Person&lt;/b&gt;&lt;p&gt;Phil is hard at work with an approach to synchronization like this.&amp;nbsp;&amp;nbsp;There's no estimate on it's release but it's his main focus right now.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, September 12, 2008 at 2:51:58 PM by Phil Smith&lt;/b&gt;&lt;p&gt;User interaction now redraws the 3 map layers in sync.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue119.aspx</link><pubDate>Fri, 12 Sep 2008 14:51:58 GMT</pubDate></item><item><title>Issue #152 (Released): Probelm Disposing of GeographicDataSources during loading (Compact Framework)</title><description>&lt;b&gt;Tuesday, September 09, 2008 at 2:11:30 AM by Olle Pettersson&lt;/b&gt;&lt;p&gt;I am trying to Dispose of a GeographicDataSource that is still loading shapes from a ShapeFile. The problem is, if I try to call Dispose() on a the GeographicDataSource before all shapes have finished loading I get an ArgumentNullException from the tread loading the shapes.&lt;br /&gt;&lt;br /&gt;System.ArgumentNullException was unhandled&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;The projection of a geographic object cannot be null.\r\n?? ?? ??: Projection&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;??: GeoFramework.Shapes.GeographicObject.set_Projection(Projection value)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;??: GeoFramework.Shapes.Layer.OnItemAdded(GeographicObject item)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;??: GeoFramework.Shapes.IO.GeographicDataSource.SpeedLoad()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;??: GeoFramework.Shapes.IO.GeographicDataSource.Load()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;??: GeoFramework.Shapes.IO.GeographicDataSource.Load(Object chezburger)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;??: System.Threading.ThreadPool.WorkItem.doWork(Object o)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;??: System.Threading.Timer.ring()&lt;br /&gt;&lt;br /&gt;In many cases the application crashes (without any exceptions thrown) if I try to call dispose while still loading shapes from file.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, September 12, 2008 at 2:50:10 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Changed the dispose behavior to clean up more touroughly if the loading thread i still active&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue152.aspx</link><pubDate>Fri, 12 Sep 2008 14:50:10 GMT</pubDate></item><item><title>Issue #154 (Behavior Is By Design): License initialization VS2008 .NET 3.5</title><description>&lt;b&gt;Wednesday, September 10, 2008 at 1:54:13 PM by Jarrod Skulavik&lt;/b&gt;&lt;p&gt;I have placed the GUID registration number into my AssemblyInfo class, yet I continually recieve a message that my trial version has expired.&amp;nbsp;&amp;nbsp;I have paid for the GPS.NET toolkit and am using VS 2008 .NET 3.5.&amp;nbsp;&amp;nbsp;I have used the license assistant to no avail.&amp;nbsp;&amp;nbsp;Please advise.&amp;nbsp;&amp;nbsp;THANKS.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 11, 2008 at 1:08:43 PM by Jon Person&lt;/b&gt;&lt;p&gt;We resolved this issue over the phone.&amp;nbsp;&amp;nbsp;It turns out that the 2005 refs were added by accident, thus throwing an error since the keys were looking for 2008.&amp;nbsp;&amp;nbsp;Visual Studio 2008 has been known to automagically change binary references to what it believes to be a newer version.&amp;nbsp;&amp;nbsp;This same error is responsible for a change internally here a couple of months ago to switch to all binary references and to make sure &amp;quot;SpecificVersion&amp;quot; is &amp;quot;True&amp;quot; for each ref to prevent them from changing.&amp;nbsp;&amp;nbsp;Easy fix thankfully.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue154.aspx</link><pubDate>Thu, 11 Sep 2008 13:08:43 GMT</pubDate></item><item><title>Issue #153 (Behavior Is By Design): Mouse Clicks always searches the map (Compact Framework)</title><description>&lt;b&gt;Tuesday, September 09, 2008 at 5:57:44 PM by Olle Pettersson&lt;/b&gt;&lt;p&gt;I have found that the layers in the map are always searched on mouse clicks even though the Map.MouseClickAction is not set to Search.&lt;br /&gt;&lt;br /&gt;I set the MouseClickAction to None, or Recenter&lt;br /&gt;&lt;br /&gt;Then, if I add a custom layer to the map the Search(projectedPoint, results) method in this layer still gets called.&lt;br /&gt;&lt;br /&gt;If I throw an Exception in the overridden Search method I get this stack trace:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at SmartDeviceProject3.CustomLayer.Search(PointF projectedPoint, List`1 results)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.Layer.Search(PointF projectedPoint, List`1 results)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.Search(PointF projectedLocation)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Gis.Map.OnMouseClickSearch(Object chezburger)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.ThreadPool.WorkItem.doWork(Object o)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at System.Threading.Timer.ring()&lt;br /&gt;&lt;br /&gt;So the search is caused by the mouse click even though the mouse click action is not set to Search&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 11, 2008 at 12:24:56 PM by Phil Smith&lt;/b&gt;&lt;p&gt;It's a default search for object events like clicking on a map feature. To disable this, set AllowObjectMouseEvents to false&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue153.aspx</link><pubDate>Thu, 11 Sep 2008 12:24:56 GMT</pubDate></item><item><title>Issue #149 (Released): Upgrading Does Not Update Assemblies in the Global Assembly Cache</title><description>&lt;b&gt;Friday, September 05, 2008 at 10:27:48 AM by Jon Person&lt;/b&gt;&lt;p&gt;Due to a flaw in the installation software, the installer for GIS.NET 3.0 and GPS.NET 2.0 is not properly overwriting assemblies in the Global Assembly Cache.&amp;nbsp;&amp;nbsp;When version numbers are the same, assemblies are not installed.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, September 05, 2008 at 10:28:45 AM by Jon Person&lt;/b&gt;&lt;p&gt;All GAC-related install scripts are being replaced with a custom install script which calls GACUTIL.EXE with options &amp;quot;/i&amp;quot; and &amp;quot;/f&amp;quot; to force assemblies to be installed into the GAC.&amp;nbsp;&amp;nbsp;This should also have the added benefit of reducing the size of installers.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue149.aspx</link><pubDate>Fri, 05 Sep 2008 10:28:45 GMT</pubDate></item><item><title>Issue #98 (Behavior Is By Design): The GPS controls aren't updating themselves.</title><description>&lt;b&gt;Thursday, July 10, 2008 at 9:19:50 PM by  &lt;/b&gt;&lt;p&gt;Sorry, this is probably something really stupid. I am just trying out your product so I loaded the speedo and clock onto a simple form and deployed it to a wince 5.0 box with a gps. They load okay but niether the clock nor the speedo moves.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, July 12, 2008 at 11:54:53 AM by Jon Person&lt;/b&gt;&lt;p&gt;Ahh, the PocketPC.&amp;nbsp;&amp;nbsp;Developers are craving the ability to write hundreds of applications on these devices, but they are extremely limited on resources.&amp;nbsp;&amp;nbsp;As a result, any app which avoids multithreading or avoids code optimization will see poor performance.&amp;nbsp;&amp;nbsp;Now, when we designed the GPS controls, the main goal here was to show controls without taking over the GUI thread.&amp;nbsp;&amp;nbsp;In other words, GeoFrameworks has a policy that all of its components will succumb to the demands of the consuming application, and therefore use lower thread priorities.&amp;nbsp;&amp;nbsp;Properties such as &amp;quot;ThreadPriority&amp;quot; can be changed to give the control more CPU time, which will improve its responsiveness. &lt;br /&gt;&lt;br /&gt;Let's try changing the ThreadPriority value to a higher amount for these controls.&amp;nbsp;&amp;nbsp;Also, the controls by default are designed to not tie into real-time GPS data.&amp;nbsp;&amp;nbsp;This lets developers use the controls without a license to GPS.NET.&amp;nbsp;&amp;nbsp;Let's set the &amp;quot;IsUsingRealTimeData&amp;quot; property to &amp;quot;True&amp;quot; on the controls in the Form's constructor.&amp;nbsp;&amp;nbsp;This should make the controls responsive for you.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, July 12, 2008 at 2:36:04 PM by Jon Person&lt;/b&gt;&lt;p&gt;I'm gonna keep this open for a few days.&amp;nbsp;&amp;nbsp;If there is no further feedback it will be marked as &amp;quot;Closed, By Design&amp;quot;&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Saturday, July 12, 2008 at 4:50:10 PM by  &lt;/b&gt;&lt;p&gt;Thanks for your suggestions. I took off the speedo and gave the clock the highest thread priority. And I changed the update interval to be 00:00:01 (not 100% sure what that does but it sounded relevant). And still no joy. I presume the red hand is supposed to sweep around. I took off the speedo in case it was gps problem - or does the clock also use the GPS?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 22, 2008 at 3:07:41 PM by Jon Person&lt;/b&gt;&lt;p&gt;The clock can use GPS if it's set to Satellite-Derived Time.&amp;nbsp;&amp;nbsp;In that case it'll hook into Devices.UtcDateTimeChanged.&amp;nbsp;&amp;nbsp; We might also see if any other threads are eating up CPU.&amp;nbsp;&amp;nbsp;Mobile devices are very limited to begin with, so they're quite easy to bog down, even with mundane operations.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 2:43:56 PM by Jon Person&lt;/b&gt;&lt;p&gt;The Clock control (and all controls) hook into static events inside of the GeoFramework.IO.Devices class.&amp;nbsp;&amp;nbsp;Since the development of GIS.NET 3.0 started, however, we've identified some big areas of performance improvement.&amp;nbsp;&amp;nbsp;However, the architecture change is so significant that it will be quite a surgical operation for me to cleanly integrate into 2.0.&amp;nbsp;&amp;nbsp;There's a chance this may get tabled 'til GPS.NET 3.0.&amp;nbsp;&amp;nbsp; If you're maxing ThreadPriority, painting on separate threads, and avoiding modal child forms, then I think you've reached the limit of what GPS2 can do.&amp;nbsp;&amp;nbsp;We're hard at work on improvements however since GIS3 demands so much performance, and I promise to work those advances into GPS2 if at all possible.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue98.aspx</link><pubDate>Thu, 04 Sep 2008 14:43:56 GMT</pubDate></item><item><title>Issue #112 (Behavior Is By Design): Example GPS.Net App Does Not Find GPS on Pharos</title><description>&lt;b&gt;Friday, July 25, 2008 at 2:10:18 PM by Tom Bulatewicz&lt;/b&gt;&lt;p&gt;When I compile and run the example project (GeoFrameworks\GPS.NET 2.0\Compact Framework 3.5\PocketPC\Examplex\C#), it does not find the GPS on a Pharos 535.&lt;br /&gt;&lt;br /&gt;The GPS unit on the Pharos 535 is wired to COM4 (and is shared with the IR port) but the example program detects it on COM8 and thus fails to read from it.&lt;br /&gt;&lt;br /&gt;Other GPS utilities are able to find the GPS unit on COM4.&lt;br /&gt;&lt;br /&gt;Do you know why it wouldn't be autodetecting the GPS?&lt;br /&gt;&lt;br /&gt;Thanks!&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, August 13, 2008 at 6:35:57 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm this is strange indeed.&amp;nbsp;&amp;nbsp;Are any other applications running at the time detection occurs?&amp;nbsp;&amp;nbsp;It might help for us to try and obtain a GPS NMEA data log.&amp;nbsp;&amp;nbsp;Also, let's see if we can figure out which baus rate is used by the Pharos 535.&amp;nbsp;&amp;nbsp;We excluded some baud rates from the automatic-detection process to speed it up.&amp;nbsp;&amp;nbsp;If the 535 uses an unorthadox baud rate, it would not get picked up.&amp;nbsp;&amp;nbsp;All NMEA-compliant GPS devices are required to support at least 4800 baud to be in compliance.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, August 26, 2008 at 12:16:14 PM by Tom Bulatewicz&lt;/b&gt;&lt;p&gt;Thanks for the reply John. No other applications were running, and one thing to add to my previous post is that if I tell GeoFrameworks to use COM4, then it works fine (at a variety of baud rates).&lt;br /&gt;&lt;br /&gt;More interesting is that we got a firmware update from Pharos for the 535 (due to other serious issues with the device) and after updating from 1.04 to 1.06 the auto-detection and whole sample app works great. So, I'm thinking it was a bug in their code, and not yours.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 2:37:12 PM by Jon Person&lt;/b&gt;&lt;p&gt;Ahh, okay, that's good to hear, especially regarding Pharos, which is my favorite manufacturer!&amp;nbsp;&amp;nbsp;I really appreciate the update.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue112.aspx</link><pubDate>Thu, 04 Sep 2008 14:37:12 GMT</pubDate></item><item><title>Issue #131 (Behavior Is By Design): Problems Connecting to a Garmin USB GPS Device</title><description>&lt;b&gt;Thursday, August 21, 2008 at 11:37:51 AM by  &lt;/b&gt;&lt;p&gt;I am developing an application with geoframeworks.&amp;nbsp;&amp;nbsp;I used to have a&lt;br /&gt;Garmin bluetooth product that worked well, but I needed something with&lt;br /&gt;faster update rates.&amp;nbsp;&amp;nbsp;So I purchased the QStarz GPS, which updates&lt;br /&gt;data at up to 5Hz and can connect to the computer with bluetooth or&lt;br /&gt;USB.&amp;nbsp;&amp;nbsp;My program still works if I use the bluetooth feature, but I&lt;br /&gt;want to use the USB feature instead (works better when I switch to&lt;br /&gt;5Hz), and it isn't working.&amp;nbsp;&amp;nbsp;If I use the monitoring program that the&lt;br /&gt;GPS brought, it works well, so I know that the device USB drivers are&lt;br /&gt;working.&amp;nbsp;&amp;nbsp;The GPS uses the NMEA 0183 (v.3.01) protocol and a baud rate&lt;br /&gt;of 115,200.&amp;nbsp;&amp;nbsp;I have verified in the device manager that the COM port&lt;br /&gt;is correctly set.&lt;br /&gt;&lt;br /&gt;I downloaded the trial version of the latest Geoframeworks, and when I&lt;br /&gt;run the example program, it also cannot connect to my device when I&lt;br /&gt;use the USB feature.&amp;nbsp;&amp;nbsp;Now I'm out of ideas.&amp;nbsp;&amp;nbsp;Can you suggest what to&lt;br /&gt;try next?&lt;br /&gt;&lt;br /&gt;Thanks in advance.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 2:36:00 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hello, we've been phasing out Garmin USB support after numerous failed attempts to get new product information from Garmin regarding their Phase Output protocol.&amp;nbsp;&amp;nbsp;However, if you stick with NMEA and serial-based connections, we can use GPS.NET without having to use the Garmin plug-in at all.&amp;nbsp;&amp;nbsp;The best thing we can do here is to look into the USB-to-serial driver for your QStarz GPS.&amp;nbsp;&amp;nbsp;Let's see if we can locate good USB-to-serial drivers for the device.&amp;nbsp;&amp;nbsp;Once we get it accessible via a COM: port, GPS.NET can pick it up.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue131.aspx</link><pubDate>Thu, 04 Sep 2008 14:36:00 GMT</pubDate></item><item><title>Issue #105 (Behavior Is By Design): Connection to GPS dropping out</title><description>&lt;b&gt;Tuesday, July 15, 2008 at 3:42:43 PM by Gary Flux&lt;/b&gt;&lt;p&gt;Application written in C# .net CE 2.0 (VS 2005)&lt;br /&gt;&lt;br /&gt;We have developed an application that uses GPS.NET 2.0, Geoframework.PockectPC.dll (version 1.4.3600.6) and GeoFramework.Gps.PocketOC.dll (version 2.3.3600.19).&amp;nbsp;&amp;nbsp;The application is now running on Windows Mobile 6.0 PDA's and has issues retaining or accessing the GPS data, while other apps such as OzyExplorer receive the data OK.&amp;nbsp;&amp;nbsp;Is there an upgrade for Mobile 6 pda's, or any upgrades to the dll's I need to apply?&lt;br /&gt;&lt;br /&gt;The version of GeoFramework.dll in the Desktop Framework 2.0 directory is also 1.4.3600.6 not 1.4.7 as stated in the selection list above.&lt;br /&gt;&lt;br /&gt;Also I raised an issue re my&amp;nbsp;&amp;nbsp;master form controls not showing on child forms when GeoFramework controls applied. I have never had an upgrade and the solution recommended did not work.&amp;nbsp;&amp;nbsp;This issued was closed as Expected Behaviour.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 15, 2008 at 6:01:08 PM by Gary Flux&lt;/b&gt;&lt;p&gt;I have just downloaded the update on your site and am now running GeoFramework.PocketPC.dll (version 1.4.3600.7) and GeoframeworkGps.PocketPC.dll (version 2.3.3600.20) (GeoFramework.dll is 1.4.3600.7) .. are these the most up to date versions?&amp;nbsp;&amp;nbsp;Tried the solution to get the master form controls to show on the child forms, but this still has not been resolved.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, July 16, 2008 at 1:53:28 PM by Gary Flux&lt;/b&gt;&lt;p&gt;Jon,&lt;br /&gt;We have found that the connections are working much better now we are are using the new updated dll's (as mentioned above).&amp;nbsp;&amp;nbsp;I was reading through other issues that have been posted, and have increase the ThreadPriority, which has also increased the response.&amp;nbsp;&amp;nbsp;I think the users having other apps also retrieving GPS data was causing some of the problems we were experiencing.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Could you please confirm we are now using the most up to date dll's (outlined previously). If so, the only outstanding issue now is how to get the master form controls to show on the child forms when GIS.Net controls are being used on the master form (n.b. I am not talking about just the&amp;nbsp;&amp;nbsp;GIS.Net controls not showing, I mean any .net control, buttons, menu items, graphics, etc.) When the GIS.Net controls are removed from the master form, all the other controls then show on the child forms.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 2:33:55 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Gary, yes 2.3.20 is the latest version of GPS.NET 2.0 and may be one of the last releases before GPS 3.0 is released.&amp;nbsp;&amp;nbsp;I've identified a bunch of performance issues which can be addressed with both the GPS interpreter and the rendering of DoubleBufferedControl, but it will require some significant rearchitecture in the code.&amp;nbsp;&amp;nbsp;Specifically, there are optimizations being implemented into GIS.NET 3.0 which can benefit GPS.NET 3 once it's out.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Unfortunately, we've exhausted the performance ideas I can come up with: increasing ThreadPriority, painting on separate threads, avoiding modal forms.&amp;nbsp;&amp;nbsp;Since the CF is so slow you can actually watch a TextBox draw, it's a big challenge to get responsive graphics.&amp;nbsp;&amp;nbsp;But, this is a high priority here and I expect to see a vast improvement over performnce when some R&amp;amp;D completes here.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue105.aspx</link><pubDate>Thu, 04 Sep 2008 14:33:55 GMT</pubDate></item><item><title>Issue #97 (Cannot Reproduce): Issue on Retrieving GPS coordinates using GPS.NET 2.0</title><description>&lt;b&gt;Thursday, July 10, 2008 at 12:02:04 AM by  &lt;/b&gt;&lt;p&gt;Hi,&lt;br /&gt;&amp;nbsp;&amp;nbsp; I am soma sekhar, working as senior software engineer at iConcept software services, hyderabad , india. We bought gps.net 2.0 from geoframeworks . we are using geoframeworks.pocketpc and geoframeworks.gps.pocketpc dll's in Visual studio .NET 2005 for capturing the GPS co-ordinates from GPS enabled PDA(HP ipaq 6965).It is working fine, it is taking around 10 to 15 seconds to sink with the satelites and give the coordinates. This PDA windows version is 5.0.&lt;br /&gt;&lt;br /&gt;1) The issues which we are facing are, now we had migrated from HP ipaq 6965(Windows mobile 5.0 version) to HP ipaq 612(Windows Mobile 6.0 version). we are facing a problem in retrieving the coordinates , with the same logic what we had used in the old PDA.&lt;br /&gt;&lt;br /&gt;The following is the piece of code which we are using to get the coordinates&lt;br /&gt;&lt;br /&gt; NmeaInterpreter inter = NmeaInterpreter.FromSerialDevice(GeoFramework.IO.Serial.CommunicationPort.Com6, GeoFramework.IO.Serial.BaudRate.Baud115200);&lt;br /&gt;&lt;br /&gt;inter.Start();&lt;br /&gt;&lt;br /&gt;GeoFramework.Position pos = inter.Position;&lt;br /&gt;&lt;br /&gt; string lat = pos.Latitude.ToString();&lt;br /&gt; string lon = pos.Longitude.ToString();&lt;br /&gt;&lt;br /&gt; inter.Stop();&lt;br /&gt;&lt;br /&gt;It is taking around 5 to 10 minutes for getting the cordinates in HP ipaq 612 model. &lt;br /&gt;&lt;br /&gt;2) Can u help me out with any better way of recieving the coordinates.&lt;br /&gt;3) Does GPS.net 2.0 work well with windows mobile 6.0 version PDA's&lt;br /&gt;4) Is there any latest version of this framework .&lt;br /&gt;&lt;br /&gt;The main purpose of our application to recieve the coordinates, so please kindly help me out with this issue.&lt;br /&gt;&lt;br /&gt;Soma sekhar Jalli&lt;br /&gt;somu@conceptglobal.com&lt;br /&gt;iConcept software services Pvt Ltd&lt;br /&gt;Hyderabad&lt;br /&gt;+919392929009&lt;br /&gt;+919866097598&lt;br /&gt;+914039122607&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, July 11, 2008 at 3:32:00 AM by  &lt;/b&gt;&lt;p&gt;Hi,&lt;br /&gt;&amp;nbsp;&amp;nbsp; I want to say another thing also, the HP ipaq 6965 model which i am using contains GPS reciever, where as hp ipaq 612 has an AGPS reciever.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, July 22, 2008 at 3:10:59 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm, a fix time of 10-15 seconds is not all that unusual for some GPS devices.&amp;nbsp;&amp;nbsp;Some models, however, such as TomTom 's devices, are able to get consistent, almost suspiciously good fixes 10 feet from a window in under two seconds.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Regarding your code, everything looks healthy to me.&amp;nbsp;&amp;nbsp;Perhaps you can email me a log file with some NMEA data? This will help me to look for any data errors and to determine the precision environment you're working in.&amp;nbsp;&amp;nbsp;I can be reached directly at jperson@geoframeworks.com.&lt;br /&gt;&lt;br /&gt;Latest versions of the framework are *always* found on our download page (http://www.geoframeworks.com/DownloadProducts.aspx).&amp;nbsp;&amp;nbsp;There is also an RSS feed which updates whenever we post a new build.&amp;nbsp;&amp;nbsp;With these feeds, you can be notified precisely when an update occurs, and use the Product Change Log RSS feed to determine whether the build is worth updating to.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue97.aspx</link><pubDate>Tue, 22 Jul 2008 15:10:59 GMT</pubDate></item><item><title>Issue #109 (Cannot Reproduce): Exeception on GPS.NET 2.3.5000.18 on WM6.0 device</title><description>&lt;b&gt;Thursday, July 17, 2008 at 5:30:00 PM by Gareth Oliver&lt;/b&gt;&lt;p&gt;Hi Support/Jon,&lt;br /&gt;&lt;br /&gt;The background:&lt;br /&gt;Customer is running WM5.0 devices, but needs to upgrade to WM6.0 due to manufacturer &amp;quot;end-of-life&amp;quot;. Will be rolling out WM6.0 devices early 2009. My task is to investigate the impact to the mobile application on the new WM6.0 device. &lt;br /&gt;&lt;br /&gt;My environment:&lt;br /&gt;- Windows Mobile 6.0 PDA (HP iPAQ 212)&lt;br /&gt;- MS Visual Studio 2003; application built in VB.NET&lt;br /&gt;- GPS.NET for CF 1.0 (PPC) v2.3.5000.18&lt;br /&gt;- I have installed CF 1.0sp3 onto the PDA&lt;br /&gt;- The GPS receiver is an external CF unit, Haicom HI-303III&lt;br /&gt;&lt;br /&gt;(My application uses some of the code provided in the example applications, as the application has very basic GPS receiving requirements)&lt;br /&gt;www.&lt;br /&gt;My constraints/limitations:&lt;br /&gt;- The application cannot be upgraded to CF2.0, and therefore VS2005 (although this can be one of the recommendations if required)&lt;br /&gt;&lt;br /&gt;My issue:&lt;br /&gt;When testing the application through VS2003 in debug mode, I get the following error:&lt;br /&gt;&lt;br /&gt;[An unhandled exception of type 'System.IndexOutOfRangeException' occurred in GeoFramework.Gps.PocketPC.dll]&lt;br /&gt;&lt;br /&gt;This occurs when at line:&lt;br /&gt;&lt;br /&gt;52:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private WithEvents Interpreter As New NmeaInterpreter&lt;br /&gt;&lt;br /&gt;I've copied/attached the complete page of code.&lt;br /&gt;&lt;br /&gt;Other tests I've tried:&lt;br /&gt;- this application has been developed for, and successfully runs on, Windows Mobile 5.0 devices (Dell Axim x51v), using the same code/versions&lt;br /&gt;- I installed CF1.0sp3 onto the WM6.0 device, with the same error&lt;br /&gt;- I installed CF3.5 onto the WM6.0 device, with the same error&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Gareth&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, August 13, 2008 at 6:49:27 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Gareth, is there some additional stack trace information available for this exception?&amp;nbsp;&amp;nbsp; I've looked at the source code to locate possible errors but it'd be easier to be able to look into specific methods.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 2:08:27 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Gareth, I'll send you an email asking for a stack trace.&amp;nbsp;&amp;nbsp;Once we can get it it should be trivial for me to track this bug down.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue109.aspx</link><pubDate>Thu, 04 Sep 2008 14:08:27 GMT</pubDate></item><item><title>Issue #145 (Behavior Is By Design): Interpreter.UtcDateTime returns an incorrect date/time</title><description>&lt;b&gt;Thursday, September 04, 2008 at 6:22:52 AM by David Hanley&lt;/b&gt;&lt;p&gt;I have noticed that, on some occassions, a call to the Interpreter.UtcDateTime returns the following (the time varies but the date is the same):&lt;br /&gt;&lt;br /&gt;Interpreter.UtcDateTime.ToString(&amp;quot;dd MMM yyyy HH:mm:ss&amp;quot;);&lt;br /&gt;01 Jan 0001 13:11:07&lt;br /&gt;&lt;br /&gt;The time is correct but the date is wrong.&lt;br /&gt;&lt;br /&gt;This seems to occur when the first Interpreter_PositionReceived event is fired after a fix is obtained. The issue then resolves itself on subsequent Interpreter_PositionReceived events.&lt;br /&gt;&lt;br /&gt;Any information on this would be appreciated.&lt;br /&gt;&lt;br /&gt;Many thanks&lt;br /&gt;David Hanley.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, September 04, 2008 at 2:06:43 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi David.&amp;nbsp;&amp;nbsp; GPS devices frequently start their clock at some arbitrary date such as January 1st from the time it is activated to the time a GPS satellite fix is acquired.&amp;nbsp;&amp;nbsp;Since GPS devices have no clock to rely on, their time will be incorrect until a fix is found.&amp;nbsp;&amp;nbsp;GPS.NET is caught in the middle of this behavior because during this time neither the local computer's date nor the satellite-derived date can be relied upon as accurate.&amp;nbsp;&amp;nbsp; So, this behavior is tough to work around.&amp;nbsp;&amp;nbsp;What I typically advise developers to do is check the IsFixed property to determine whether to trust UTC date/time values at all.&amp;nbsp;&amp;nbsp;This is also the approach used when IsClockSynchronizationEnabled is true; the local machine's clock is updated only when this property returns true.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue145.aspx</link><pubDate>Thu, 04 Sep 2008 14:06:43 GMT</pubDate></item><item><title>Issue #142 (Cannot Reproduce): Error in points GIS 3.O Example</title><description>&lt;b&gt;Monday, September 01, 2008 at 8:19:55 PM by  &lt;/b&gt;&lt;p&gt;I was looking at adding markers form. Labelled markers did not show text initially as set to townSyle. Changed to CityStyle and then OK.&lt;br /&gt;Unmarked Labels didnt show initially. Changed style to OutlineFilled Style and then they show.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, September 02, 2008 at 6:48:15 AM by Jon Person&lt;/b&gt;&lt;p&gt;Hmm, can you tell me which version of Visual Studio you're using?&amp;nbsp;&amp;nbsp;I remember this sample was working, but I'm happy to check it again.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, September 02, 2008 at 8:40:54 AM by Jon Person&lt;/b&gt;&lt;p&gt;The labeled markers are showing up just fine for me.&amp;nbsp;&amp;nbsp;Perhaps you could email us a screen shot of how it appears on your system?&amp;nbsp;&amp;nbsp;You can send the screen shot to jperson@geoframeworks.com.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue142.aspx</link><pubDate>Tue, 02 Sep 2008 08:40:54 GMT</pubDate></item><item><title>Issue #144 (Released): MissingMethodException in Enum.ToObject</title><description>&lt;b&gt;Tuesday, September 02, 2008 at 8:25:59 AM by Jon Person&lt;/b&gt;&lt;p&gt;On Compact Framework 1.0 applications, a MissingMethodException occurs in the GeoFramework.Gps assembly during a call to Enum.ToObject&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, September 02, 2008 at 8:27:01 AM by Jon Person&lt;/b&gt;&lt;p&gt;This is a strange exception, and is suggests that the version of mscorlib which we compile against somehow is missing Enum.ToObject().&amp;nbsp;&amp;nbsp;With no further information to go on, our only recourse is to eliminate all calls to Enum.ToObject in the CF1 build of the assembly.&amp;nbsp;&amp;nbsp;This is now being built.&lt;br /&gt;&lt;br /&gt;This error only occurs on CF1 applications.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue144.aspx</link><pubDate>Tue, 02 Sep 2008 08:27:01 GMT</pubDate></item><item><title>Issue #143 (Released): Allow Rotation for Small Images on the Compact Framework</title><description>&lt;b&gt;Tuesday, September 02, 2008 at 6:55:17 AM by Jon Person&lt;/b&gt;&lt;p&gt;By default, setting the Rotation property of a GIS3 Map control is not allowed.&amp;nbsp;&amp;nbsp;However, more advanced developers have suggested that rotation still be allowed in the case of smaller imagery.&amp;nbsp;&amp;nbsp;As a result, a property should be added to the map control for developers who understand the risk and will only rotate small images.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Tuesday, September 02, 2008 at 6:57:21 AM by Jon Person&lt;/b&gt;&lt;p&gt;A property called &amp;quot;AllowRotation&amp;quot; has been added to Compact Framework projects.&amp;nbsp;&amp;nbsp;This property is False by default to dissuade developers from attempting to rotate imagery without understanding the risks.&amp;nbsp;&amp;nbsp; For advanced developers who know they are only working with icon-sized imagery, this property can be set to True.&lt;br /&gt;&lt;br /&gt;This property should never be set to True when working with larger imagery, because it will dramatically increase the time required to paint a map.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue143.aspx</link><pubDate>Tue, 02 Sep 2008 06:57:21 GMT</pubDate></item><item><title>Issue #134 (Released): TileSet for large screen give OOM exceptions on Compact Framework</title><description>&lt;b&gt;Monday, August 25, 2008 at 10:57:18 PM by Olle Pettersson&lt;/b&gt;&lt;p&gt;This issue relates to the other one I posted about TileSets that stop rendering in GIS.NET for CF&lt;br /&gt;&lt;br /&gt;When they do render at higher resolutions we get OutOfMemoryExceptios pretty consistently.&lt;br /&gt;&lt;br /&gt;If we reduce the size of the map to 240x320 pixels, we are ok (no OOM exceptions). The TileSet seems to use a lot of memory at higher resolutions.&lt;br /&gt;&lt;br /&gt;Will this be addressed in the update to TileSets coming soon?&lt;br /&gt;&lt;br /&gt;As a side note, our device has 256MB of RAM. However. it runs WinCE 5.0 which gives a running process an address space of only 32MB. But I think the CLR uses some tricks to get around this limit when allocating large objects (like bitmaps).&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 29, 2008 at 11:36:21 AM by Jon Person&lt;/b&gt;&lt;p&gt;We're currently refactoring the way bitmaps are rendered on the CF because Microsoft's managed solution is quite inefficient.&amp;nbsp;&amp;nbsp;Phil is now researching ways to bypass Graphics.DrawImage() entirely, and we hope to have this built in at a low level to developers automatically take advantage of optimizations, including when inheriting from the Picture or Tile class.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 29, 2008 at 12:03:06 PM by Jon Person&lt;/b&gt;&lt;p&gt;A couple of memory leaks were resolved for Tileset.OnPaint() today, but they only affect generation of new tiles.&amp;nbsp;&amp;nbsp;I believe we'll need to tweak the default maximum # of tiles allowed in memory to a lwoer value.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 29, 2008 at 4:30:26 PM by Jon Person&lt;/b&gt;&lt;p&gt;Memory management for Tilesets has been significantly improved for both desktops and mobile devices.&amp;nbsp;&amp;nbsp;Reclamation of memory is now a lot more agressive, disposing of tiles if the MaximumTilesInMemory limit has been reached.&amp;nbsp;&amp;nbsp;The maximum has been decreased down to about 16 for the compact framework to reduce OOM's.&lt;br /&gt;&lt;br /&gt;This fix was done in the same branch as the new Asynchronous Tileset functionality, which is still being tested.&amp;nbsp;&amp;nbsp;But, tests so far are good and we hope to get this released within a few days.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 29, 2008 at 8:24:52 PM by Jon Person&lt;/b&gt;&lt;p&gt;Olle, a build is being published now with *some* improvements which I believe will help you.&amp;nbsp;&amp;nbsp;Phil's still working on the low-level stuff but let's give this a try.&amp;nbsp;&amp;nbsp;Tileset had many performance tweaks today.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue134.aspx</link><pubDate>Fri, 29 Aug 2008 20:24:52 GMT</pubDate></item><item><title>Issue #139 (Released): Tilesets are Now Asynchronous</title><description>&lt;b&gt;Friday, August 29, 2008 at 4:36:25 PM by Jon Person&lt;/b&gt;&lt;p&gt;The Tileset class has been refactored to perform all, saving, loading, and generation of tiles on a separate thread.&amp;nbsp;&amp;nbsp;This produces a behavior similar to Google Maps, where panning operations cause blank areas to appear for about a half second while tiles are retrieved from disk.&amp;nbsp;&amp;nbsp;This new system is much more performant.&amp;nbsp;&amp;nbsp;Additionally, generation of brand new tiles on desktop computers takes place on a separate thread.&amp;nbsp;&amp;nbsp;This allows for panning and zooming operations which remain responsive.&lt;br /&gt;&lt;br /&gt;Lastly, some changes were made to the Tileset class to make it easier to use with additional data sources:&lt;br /&gt;&lt;br /&gt;1. A &amp;quot;GetZoomLevel(RectangleF)&amp;quot; method has been added which will return the most appropriate zoom level to display the specified projected rectangle of data.&lt;br /&gt;2. A &amp;quot;GetTileCoordinates(ZoomLevel, RectangleF)&amp;quot; method has been added which returns a rectangle, in tile coordinates, of tiles which cover the specified projected area.&amp;nbsp;&amp;nbsp;Developers could use this method to, for example, manually figure out which tiles to load from a data source.&lt;br /&gt;3. The new &amp;quot;Generate&amp;quot; method will request that a single tile be created for a zoom level and tile x/y coordinate.&amp;nbsp;&amp;nbsp;When called from within a loop, this method can be used to systematically generate an entire tileset.&lt;br /&gt;4. The &amp;quot;RetrieveTile&amp;quot; &amp;quot;SaveTile&amp;quot; and &amp;quot;TileExists&amp;quot; methods were added to help developers manage tiles using foreign data sources, such as remote web sites.&amp;nbsp;&amp;nbsp;Developers can now inherit from Tileset and override these methods to retrieve tiles from a custom data source.&lt;br /&gt;&lt;br /&gt;... some testing remains but this issue will be marked as Fixed once testing has completed for all platforms.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue139.aspx</link><pubDate>Fri, 29 Aug 2008 16:36:25 GMT</pubDate></item><item><title>Issue #140 (Released): MouseEnter/MouseLeve Events not Firing on Desktop</title><description>&lt;b&gt;Friday, August 29, 2008 at 5:36:23 PM by Jon Person&lt;/b&gt;&lt;p&gt;An issue was discovered in a recent build to where the MouseEnter and MouseLeave events were not firing on the desktop.&amp;nbsp;&amp;nbsp;This was caused by a recent improvement made to add support for &amp;quot;Deploy to My Computer&amp;quot; modes for GIS.NET.&amp;nbsp;&amp;nbsp;If you don't know what DTMC is, it's a way to debug PocketPC apps on your desktop and it saves a LOT of time.&amp;nbsp;&amp;nbsp;You can hack VS to support it with these steps:&lt;br /&gt;&lt;br /&gt;INSTRUCTIONS&lt;br /&gt;1. In Visual Studio select Tools/Options, and then select Device Tools/Devices from the tree.&lt;br /&gt;2. In the top combo box, select the platform that you want to add desktop deployment to. You’ll need to do this for each platform you want to use.&lt;br /&gt;3. Select one of the devices, (it doesn’t matter which one) and click the Save As… button. Save as “My Computer”. If you’ve already done this for a platform, you’ll need to save subsequent devices with slightly different names (like “My Computer2”)&lt;br /&gt;4. Close VS and open your %USERPROFILE%\Local Settings\Application Data\Microsoft\CoreCon\1.0\conman_ds_platform.xsl file in a text editor.&lt;br /&gt;5. Find the &amp;lt;DEVICE …&amp;gt; element corresponding to the device you created and add the node (i.e. search for “My Computer” to find the correct node.)&lt;br /&gt;&amp;lt;PROPERTY ID=&amp;quot;IsDesktopDevice&amp;quot; Name=&amp;quot;IsDesktopDevice&amp;quot;&amp;gt;true&amp;lt;/PROPERTY&amp;gt;&lt;br /&gt;Place it right after the first &amp;lt;PROPERTYCONTAINER&amp;gt; tag.&lt;br /&gt;6. Save conman_ds_platform.xsl and restart VS.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 29, 2008 at 5:36:44 PM by Jon Person&lt;/b&gt;&lt;p&gt;MouseEnter/MouseLeave now fire properly.&amp;nbsp;&amp;nbsp;I rolled back the DTMC code and will revisit it later.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue140.aspx</link><pubDate>Fri, 29 Aug 2008 17:36:44 GMT</pubDate></item><item><title>Issue #114 (Behavior Is By Design): No Nmea data received on Trimble GeoXM</title><description>&lt;b&gt;Wednesday, July 30, 2008 at 10:34:09 AM by Matthew Fraser&lt;/b&gt;&lt;p&gt;I ran your sample application and it worked beautifully to detect my NMEA port on the Trimble GeoXM. However, I never get any positional data even thought satellites are detected etc.. If I leave your test app running and I launch the Software that ships with the Trimble and hit connect GPS everything start working fine in the test application. It's almost like the receiver doesn't get fully started. I get satellite info but the GGA sentence is always blank. Please help.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, August 13, 2008 at 6:21:58 PM by Jon Person&lt;/b&gt;&lt;p&gt;We've continued this particular discussion via email instead of the Issue Tracker.&amp;nbsp;&amp;nbsp;But apparently the GeoXT won't communicate data unless it's own software is running.&amp;nbsp;&amp;nbsp;We're currently waiting on Trimble to explain if their device needs special commands to start transmitting data, or of the device can be configured to work with 3rd-party GPS software more readily.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, August 21, 2008 at 3:56:41 PM by Jon Person&lt;/b&gt;&lt;p&gt;Another customer reported this same problem, and we're learning more about this series of devices.&amp;nbsp;&amp;nbsp;Namely, that there is a configuration program which can hel pyou control which port is set to transmit NMEA data.&amp;nbsp;&amp;nbsp;It looks like the GeoXM can transmit NMEA data but only via a Bluetooth connection, typically COM7:.&amp;nbsp;&amp;nbsp; All of these devices ship with a &amp;quot;GPS Connector&amp;quot; utility:&lt;br /&gt;&lt;br /&gt;1) Tap the Windows start button&lt;br /&gt;2) Tap Settings&lt;br /&gt;3) Tap Connections&lt;br /&gt;4) Tap &amp;quot;GPS Connector&amp;quot;&lt;br /&gt;5) Configure the port for NMEA output.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, August 21, 2008 at 3:58:43 PM by Jon Person&lt;/b&gt;&lt;p&gt;Information on the GPS COnnector can be found in the product spec PDF, found online here: http://trl.trimble.com/docushare/dsweb/Get/Document-360484/GeoExpl2005_110A_GSG.pdf.&amp;nbsp;&amp;nbsp;Thanks very much to Scott E. for sharing this information!&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, August 28, 2008 at 10:16:37 AM by Jon Person&lt;/b&gt;&lt;p&gt;It may also be necessary to configure the GPS Intermediate Driver (GPSID) to use the NMEA port specified by the GPS Connector.&amp;nbsp;&amp;nbsp;One customer has reported successful connectivity once they assigned the correct port to the GPSID settings.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 29, 2008 at 4:37:47 PM by Jon Person&lt;/b&gt;&lt;p&gt;Customers report success when following these steps using COM2:, the NMEA-compliant port.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue114.aspx</link><pubDate>Fri, 29 Aug 2008 16:37:47 GMT</pubDate></item><item><title>Issue #132 (Behavior Is By Design): Latitude/Longitude Seem Inaccurate by Ten Miles</title><description>&lt;b&gt;Friday, August 22, 2008 at 12:38:12 AM by  &lt;/b&gt;&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;I have created a simple tracking appication for PPC, however the GPS position information I out by around 10miles. &lt;br /&gt;&lt;br /&gt;Can you tell me how i can ensure that the pos data is accurate as this application is being used to track vehicles.&lt;br /&gt;&lt;br /&gt;Code below..&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If blnGPSStarted = False Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StartInt(gpsDevice)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pos = interpreter.Position&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;speed = interpreter.Speed&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;direction = interpreter.Bearing&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'update position properties&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mlon = Latitude.ToDecimalDegrees(pos.Latitude.Hours, pos.Latitude.Minutes, pos.Latitude.Seconds)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mlat = Longitude.ToDecimalDegrees(pos.Longitude.Hours, pos.Longitude.Minutes, pos.Longitude.Seconds)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mspeed = speed.ToStatuteMilesPerHour&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mdrirection = direction.ToString&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mposdatetime = DateTime.Now.ToString&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If mlon &amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blnPostionValid = True&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If mlon = 0 Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DetectGPS()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Catch ex As Exception&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End Try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Catch ex As Exception&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End Try&lt;br /&gt;&lt;br /&gt;Regards&lt;br /&gt;&lt;br /&gt;John&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 29, 2008 at 11:34:04 AM by Jon Person&lt;/b&gt;&lt;p&gt;This is currently being researched via email.&amp;nbsp;&amp;nbsp;I'll post an update here once a solution is found.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 29, 2008 at 11:38:21 AM by Jon Person&lt;/b&gt;&lt;p&gt;One thing we can do is use the DecimalDegrees property instead of calling ToDecimalDegrees, like this:&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue132.aspx</link><pubDate>Fri, 29 Aug 2008 11:38:21 GMT</pubDate></item><item><title>Issue #137 (Behavior Is By Design): Exception: System.GC.Collect(Int32, System.GCCollectionMode)</title><description>&lt;b&gt;Thursday, August 28, 2008 at 8:21:25 AM by  &lt;/b&gt;&lt;p&gt;I try adding the key to the sample file and i still get an error.&lt;br /&gt;&lt;br /&gt;Method dont found: 'Void System.GC.Collect(Int32, System.GCCollectionMode)'.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 29, 2008 at 11:32:36 AM by Jon Person&lt;/b&gt;&lt;p&gt;This error is caused on systems which are running Visual Studio 2005 without Service Pack 1 installed.&amp;nbsp;&amp;nbsp; SP1 introduced some new GC features such as specifying GCCollectionMode, along with GCLatencyMode.&amp;nbsp;&amp;nbsp;You can upgrade to 2005SP1 from this URL, which will resolve the issue: http://www.microsoft.com/downloads/details.aspx?familyid=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc&amp;amp;displaylang=en&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue137.aspx</link><pubDate>Fri, 29 Aug 2008 11:32:36 GMT</pubDate></item><item><title>Issue #125 (Released): Markers Render Slow on Compact Framework</title><description>&lt;b&gt;Monday, August 11, 2008 at 2:29:09 AM by Olle Pettersson&lt;/b&gt;&lt;p&gt;We have encountered some problem when rendering markers on maps in GIS.NET 3.0 for Compact Framework. The problem is that it takes very long for markers to render them self on screen.&lt;br /&gt;&lt;br /&gt;For instance, we load traffic lights that are points in a shapefile and style them using the ScaledImageStyle.&lt;br /&gt;&lt;br /&gt;When the traffic light shapefile loads the constructor in our extended LabeldMarker class get called and we pass a a ScaledImageStyle for the maker:&lt;br /&gt;&lt;br /&gt;public ZCTTrafficLight(Projection proj, Position pos)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: base(proj, _IconStyle, pos, _SignalSize) { }&lt;br /&gt;&lt;br /&gt;_IconStyle is defined with a static size to prevent any scaling of the image:&lt;br /&gt;&lt;br /&gt;private static ScaledImageStyle _IconStyle = &lt;br /&gt;new ScaledImageStyle(ShobunshaIcons.signal, ShobunshaIcons.signal.Size);&lt;br /&gt;&lt;br /&gt;The icons show up on the map but the map renders significantly slower when we add image icons to it. we load around 15 points in total, only around 5 are on screen at any one time.&lt;br /&gt;&lt;br /&gt;We had the same experience when using normal markers too (circles with text), without any ScaledImageStyle. we used it for our POIs, we loaded close to 100 data points, with around 20 being in view on the screen at once.&lt;br /&gt;&lt;br /&gt;To get around this problem las time we created a custom object that renders itself on screen using Graphics and pixel coordinates given by the GraphicsContext. that speed up rendering.&lt;br /&gt;&lt;br /&gt;Now, I can use that same technique to render 20+ unscaled images at geological coordinates without any significant slowdown in rendering. how come that Markers render so slow? we would prefer to use the built in types rather than creating our own solution for this.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Monday, August 11, 2008 at 5:58:36 PM by Jon Person&lt;/b&gt;&lt;p&gt;Hi Olle, one thing that would really help performance and memory use is to use a *single* ScaledImageStype object and share that with many different Is this what you're doing currently?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, August 17, 2008 at 2:26:12 PM by Phil Smith&lt;/b&gt;&lt;p&gt;I'm still investigating the ScaledImageStyle. Not sure where the hang up there is. The generic Marker style would benifit from using the DrawEllipse function directly on the Graphics rather than calculating the curves on the fly. A performance issue with Marke extent calculation has been fixed, but will affect loading times only, not drawing at this time. More to come!&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, August 17, 2008 at 3:52:04 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Tthe regular marker problem is fixed now after using DrawEllipse internally instead of calculating the arcs on the fly.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue125.aspx</link><pubDate>Sun, 17 Aug 2008 15:52:04 GMT</pubDate></item><item><title>Issue #121 (Released): Error on ProjectedBearingAt</title><description>&lt;b&gt;Friday, August 08, 2008 at 10:40:34 AM by Ted Macy&lt;/b&gt;&lt;p&gt;I have a line with two positions.&amp;nbsp;&amp;nbsp; I have exected these two lines of code:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Azimuth bearing = _baseLine.BearingAt(0);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Azimuth projectedBearing = _baseLine.ProjectedBearingAt(0);&lt;br /&gt;&lt;br /&gt;The first line succeeds and is correct.&amp;nbsp;&amp;nbsp; The second line fails with this error:&lt;br /&gt;&lt;br /&gt;System.ArgumentOutOfRangeException was unhandled&lt;br /&gt;&amp;nbsp;&amp;nbsp;Message=&amp;quot;The end index for the bearing of a line segment can only be calculated from the first point to the next-to-last point.\r\nParameter name: index&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Source=&amp;quot;GeoFramework.Drawing&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;ParamName=&amp;quot;index&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicList.ProjectedBearingAt(Int32 startIndex, Int32 endIndex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at GeoFramework.Shapes.GeographicList.ProjectedBearingAt(Int32 index)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at MapShots.PocketSampler.Controls.mpnGridLayer.SnapGrid()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, August 13, 2008 at 6:23:24 PM by Jon Person&lt;/b&gt;&lt;p&gt;This exception would be valid if the line contained 1 or less points, since 2 points are required to calculate a bearing.&amp;nbsp;&amp;nbsp;How many points were in the line?&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 15, 2008 at 11:30:52 AM by Ted Macy&lt;/b&gt;&lt;p&gt;As noted on the first line of my post :)&amp;nbsp;&amp;nbsp; My line has two positions.&amp;nbsp;&amp;nbsp; If I ask for line.Count, the response is 2.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, August 17, 2008 at 11:27:54 AM by Jon Person&lt;/b&gt;&lt;p&gt;hah sure enough.&amp;nbsp;&amp;nbsp;Alright, I'll have a closer look at that today.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Sunday, August 17, 2008 at 11:30:16 AM by Jon Person&lt;/b&gt;&lt;p&gt;The bounds-checking for ProjectedBearingAt was off by one.&amp;nbsp;&amp;nbsp;This is now resolved.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue121.aspx</link><pubDate>Sun, 17 Aug 2008 11:30:16 GMT</pubDate></item><item><title>Issue #130 (Released): MovableItem updates not showing after a refresh.</title><description>&lt;b&gt;Friday, August 15, 2008 at 1:45:00 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Movable Items on a map aren't getting updated after the item &amp;quot;moves&amp;quot; or has data added to it.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 15, 2008 at 1:47:35 PM by Phil Smith&lt;/b&gt;&lt;p&gt;Item extents we're not being recalculated causing them to be drawn in their original position. The data in objects was indeed changing and the refresh chain was getting all the way to the paint thread. But without the updated extents, objects were not being painted in ther original positions.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Friday, August 15, 2008 at 1:55:55 PM by Ted Macy&lt;/b&gt;&lt;p&gt;This is very good news.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thank you for digging into this one so quickly.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue130.aspx</link><pubDate>Fri, 15 Aug 2008 13:55:55 GMT</pubDate></item><item><title>Issue #129 (Released): Map control not appearing in the toolbox</title><description>&lt;b&gt;Thursday, August 14, 2008 at 10:31:48 AM by Jon Person&lt;/b&gt;&lt;p&gt;I am jealous of all of you :)&amp;nbsp;&amp;nbsp;because you don't need to experience the shocking quagmire that is Visual Studio Toolbox Integration.&amp;nbsp;&amp;nbsp;A bug was found this morning in the GIS.NET 3.0 installer where the Toolbox utility was not installing the Map control properly into VS2005 PocketPC projects, or any VS2008 project.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Thursday, August 14, 2008 at 10:32:05 AM by Jon Person&lt;/b&gt;&lt;p&gt;The installer issue has been resolved and is now being updated.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue129.aspx</link><pubDate>Thu, 14 Aug 2008 10:32:05 GMT</pubDate></item><item><title>Issue #113 (Behavior Is By Design): GPS.NET Garmin Plug-In cannot detect 60CSX</title><description>&lt;b&gt;Monday, July 28, 2008 at 12:11:10 PM by  &lt;/b&gt;&lt;p&gt;I am attempting to use GPS.NET within Visual Studio 2005 to read data from a Garmin GPSmap 60Cx through a USB connection.&lt;br /&gt;&lt;br /&gt;I have successfully installed the drivers from Garmin, and I can read the unit ID from the Garmin Trip &amp;amp; Waypoint Manager software, as well as from the command-line executable from the SDK that Garmin provides.&lt;br /&gt;&lt;br /&gt;Using GPS.NET, however, it will not even detect the presence of a device. I have tried using Devices.Detect() and Devices.GetDeviceByProtocol(NmeaInterpreter.ProtocolName) as specified in the sample application, each without success.&lt;br /&gt;&lt;br /&gt;I have also tried on two different computers, one running Windows XP SP2, and Windows XP Tablet PC Edition, again, without success.&lt;br /&gt;&lt;br /&gt;We have purchased a license for both GPS.NET and the Garmin Protocols Plug-In.&lt;br /&gt;&lt;br /&gt;Any assistance you can provide will be most appreciated.&lt;br /&gt;&lt;br /&gt;Thank you.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, August 13, 2008 at 6:20:25 PM by Jon Person&lt;/b&gt;&lt;p&gt;Unfortunately, we've dropped our Garmin plug-in due to a failure to maintain the product (measure sales against the amount of work required to maintain it).&amp;nbsp;&amp;nbsp;Specifically, Garmin refuses to adopt what programmers refer to as a &amp;quot;standard&amp;quot; and they keep changing their protocol every 1-3 months.&amp;nbsp;&amp;nbsp;As a result, anyone who decided to support Garmin's Phase Output protocol is committing to mandatory re-releases to support new devices.&amp;nbsp;&amp;nbsp;On top of that, Garmin will not reveal the specific changes to their protocol until about one year after the device is released.&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;To avoid an onslaught of technical support both for us and for our customers, we've dropped Garmin until they do adopt a standard.&amp;nbsp;&amp;nbsp;Developers are strongly encouraged to stick with the NMEA protocol in order to ensure connectivity.&lt;br /&gt;&lt;br /&gt;Some Garmin devices do support both Garmin Phase Output along with NMEA.&amp;nbsp;&amp;nbsp;This is the best alternative I can recommend for you right now.&amp;nbsp;&amp;nbsp;If perhaps we can establish an inside-track to Garmin we might be able to stay on top of updates.&amp;nbsp;&amp;nbsp;Right now it's not cost-effective.&lt;/p&gt;&lt;hr /&gt;</description><link>https://secure.geoframeworks.com/Secured/ViewIssue113.aspx</link><pubDate>Wed, 13 Aug 2008 18:20:25 GMT</pubDate></item><item><title>Issue #128 (Released): Can we have a version of GPS.NET 2.0 which works with the new GIS.NET 3.0 Frameworks?</title><description>&lt;b&gt;Wednesday, August 13, 2008 at 1:58:58 PM by Jon Person&lt;/b&gt;&lt;p&gt;The current release of GIS.NET uses a separate version of the GeoFramework (version 2.0.0), whereas GPS.NET 2.0 currently uses an older version of the GeoFramework (1.4.7).&amp;nbsp;&amp;nbsp;As a result, both assemblies must be referenced to get both GIS3 and GPS functionality.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Customers of GIS.NET 3.0 are asking for a &amp;quot;hybrid&amp;quot; version of GPS.NET 2.3 which has all the same functionality but references the new GeoFramework 2.0 assembly.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, August 13, 2008 at 2:01:21 PM by Jon Person&lt;/b&gt;&lt;p&gt;I am currently working on this functionality, and plan to have it integrated into the GIS.NET 3.0 installer.&amp;nbsp;&amp;nbsp;Any 2.0 license key will work with this hybrid release.&amp;nbsp;&amp;nbsp;The version number for these hybrids will be GeoFramework.Gps.dll (2.4.x.0) and GeoFramework.Gps.Controls.dll (1.4.7).&amp;nbsp;&amp;nbsp;It will be important that customers ONLY use these DLL's alongside GIS.NET 3.0.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;We'll be starting the full GPS.NET 3.0 project soon which will also use the GeoFramework 2.0 dependency.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;Wednesday, August 13, 2008 at 5:47:14 PM by Jon Per