API Changes
Simplified chart catalogue change notifications
The S-57 SENC change notifications are now much simpler. Instead of an OnBusy event which sent false when it starts being busy and true when it finishes you just get an OnChanged. Because changes are picked up far more quickly it is no longer worth warning you of them. You just need to update all your views, lists of chart cells and so on when you receieve the change.
Opening a chart folder as "read only"
There are now two ways to open an ENC chart folder (SENC).
Chart Management Functions Removed from the Library
Methods on S57Manager for ENC chart management have been removed from the ENCX API. A similar set of functions is available from the ManageENC API. The properties and methods removed are:
The S57ManageEvents interface has been completely removed.
Serial Number of the Dongle
You can now use the SerialNumber property of the dongle class to get the serial number of the dongle. Exposing this in your UI might help you support your customers (otherwise they have to crawl under the desk and physically look at the serial number written on the hardware dongle plugged into their computer).
Opening an ARCS raster chart on a specified panel
This allows you to set the display to view a particular geographic position on a specified panel on a specified chart. The RasDraw class now has a method OpenAtPositionOnPanel.
SetChartPanelAndPosition is the equivalent method from the raster .NET control.
Changes to samples and Installation
Vista
ENCX is now tested to work on Microsoft Vista.
Dongle Drivers
ENCX can now be licensed with KeyLok hardware dongles as well as Hasp hardware dongles. Outwardly both these devices look pretty similar and the behave similarly too. It just means that we are no longer tied in to one dongle supplier. The redist folder now contains an extra merge module haspds.msm containing the hasp drivers. The keylok drivers are in the bin folder. This is for use by OEMs when building installers for software that uses ENCX.
Demo SENC
The senc_demo folder now contains a larger set of demonstration ENCs - some NOAA data around the port of Valdez, Alaska has been added. See: Demonstration ENC Charts. Most ENC samples have been provided with buttons or menu options to help navigate between the sample data in Hull, UK and Valdez, AK.
MFC Samples
The source code for the C++ samples were missed a header ComErrorMsg.h. This has been fixed. We do think there is a small drawing problem with the ENC sample. The background where there is no data should be drawn grey (gray for those in the USA) but instead it is drawn black. Other samples don't have this problem.
Background information:
ManageENC multithreading
Chart install performs has been improved for multi-processor computers. ManageENC has also been made more responsive to cancellation.
SENC Directory File
Previously ENCX scanned the SENC (the S-57/ENC chart folder) to initialise and pick-up changes. To improve performance a cache file was also used. Each client application had a cache file. Now the chart installation program (ManageENC) updates something akin to the old cache file. Chart display programs using ENCX just read this directory file which is a lot quicker than trawling through a folder structure (especially over a network).
Andrew Nibbs has developed software and managed projects for Chersoft for ten years. He specialises in C++ and does a bit of C#. He once wrote a Python script.