Developer Reference V1.8.0.37 Release Notes

Targeting .NET 2.0 or .NET 3.5

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 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.

Build Tools

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:

  • Over to Microsoft Visual Studio 2010 - we use Microsoft tools because we develop for the Windows platform and get them free provided we comply with the requirements of the Gold Partner scheme (I'm told this name might be changing but at the time of writing we are Gold Partners).
  • To FinalBuilder for our automated build system. We used to use a system we developed in-house using VB 6 but that was getting old and starting to come apart at the seams. After flirting with another technology we settled on FinalBuilder. It's not perfect but we can get it to do what we need. We've also got a good fast build server with 8 processors and loads of disk to run it on.
  • To InstallShield to build our installers. We were previously using Wise but this is being allowed to die by its new owners. We had some issues with it anyway. Again, InstallShield is not perfect but we can make it work.

Older Visual Studios

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.

64 bit

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.

Simplified ENCXUDE

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.

Simplified Software Dongles

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.

API Changes

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.