We had to drop back to Visual Studio 2008 for some aspects of our build. The EncxControls project and all the .NET samples are now built using VS 2008 to target .NET framework 2.0. If you want to work with VS 2010 and .NET 4.0 then convert the projects and set them to target framework 4.0 and it will work.
Background: We had a problem with release 22.214.171.124 in that our samples and EncxControls project targeted the .NET framework 4.0 and many developers needed to target 3.5. We had no success in getting Visual Studio 2010 to do the right thing for us here.
Since the last release of ENCX to the website (there have been a few special releases) we have had a lot of changes. Sometimes it's easier to just change a bunch of things at the same time. Rather than a series of disruptions you just get it all done in one go. So we've changed:
In the end we had to target the .NET samples at version 4.0 of the .NET framework (ideally we would have targetted .NET 2.0). We could not get the VS 2010 multi-targeting to work. We still think there may be a problem targetting .NET platforms other than 4.0. Please contact us if you need any advice about this.
The core ENCX library is not the problem - more the controls and samples we provide alongside.
If you are using VS 2005 or VS 2008 you'll have to do some work to get the samples to build and run.
You have to build a 32 bit executable to work with ENCX (a 32 bit COM component). This means you have to target "x86" in your builds. In C# is an option on the Build tab of the project properties called "Platform Target". In VB.NET it is an advanced option from the compile tab of the project properties.
ENCXUDE was previously supplied as a separate SDK with a separate installer. Two APIs in parallel - both based on the same technology but kept apart. We noticed that customers often wanted the benefits of ENCXUDE (simple licensing) and those of ENCX (ability to use a wider range of chart data). Some people integrated with both SDKs - using ENCX when a licensing dongle was present and ENCXUDE otherwise.
We've built that approach into the ENCX library.
Now ENCXUDE is just a licensing option for the one ENCX library.
It simplifies things for us and for you the OEM building a product from ENCX.
ENCX can be licensed using either a USB hardware dongle or a "software dongle". A software dongle is a means of activating the license by reading a unique hardware identity from a computer and then tying a license to that identity.
Previously we needed to have a Windows service running to produce the relevant identity information. This service needed to be installed and running for this scheme to work.
We have cut down on complexity by using alternative means to get the identity information. This may mean that some software dongles need replacing as we can't always get the same information. But we will happily do that as the new scheme is easier to work with.
We removed the second parameter from the S57Draw class Draw method bDrawQuickFeaturesOnly. We have developed a better technique for scrolling ENCs fast as part of our Nuno Navigator project and we will roll them into ENCX as soon as possible.