Developer Reference V1.5.0.420 Release Notes

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

  • If you do not want ENCX to monitor your chart folder and inform you of changes you can set the ReadOnly flag of the S57ManagerInitialisationData object. As soon as the OpenSenc method returns you can draw charts. This the new way - simpler when you are just getting started, for writing command line applications or in applications when the installed charts will not change.
  • If the ReadOnly flag is false you will get a S57CatalogueObserver OnChanged event as soon as the library is fully ready to display ENC charts. This is the old way except that OnChanged replaces OnBusy(true).

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:

  • InstallCell
  • InstallTransmittal
  • InstallZippedTransmittal
  • InstallCertificate
  • InstallPermitFile

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