ApplCore Revision History
-------------------------

Version 1.00
June 1992 		ApplCore conceptualised - Development started
Aug  1992		Cosmetic version for demonstration purposes
Nov  1992      Commenced implementing Procion hooks
Dec  1992      First non-network router control simulations
Feb  1993		Consolidation of router control and panel development
25/03/93			Corrected minor bugs in TextGet & TextRemove
					Added TextTransfer and NumberTransfer
30/03/93			Modified ExecFile
04/04/93			Added FLIC support commands
20/04/93			Correct List Get bug
18/05/93			Modified WM_COMMAND handler
10/06/93       Hooked in IAC support functions
					Added Text Edit command
					Added memory functions
					Added UMD function
20/06/93			Added neural network hooks & functions
01/07/93			Completed IAC functions with new IAC bug-fix release
16/07/93			Modified UMD function to justify text
18/08/93			Added integral UMD driver
					Add : Text Edit 'SLASH' command
25/08/93			Test version using NetBIOS for IAC
05/09/93			Consolidated NetBIOS as IAC transport
24/09/93			Added audio commands : record, stop & MCI
22/10/93			Consolidated netbios routines into NETBIOS.DLL
29/11/93			Bug fix to UMD support
11/12/93			Commenced adding BBC network router control protocol
15/12/93			Consolidated BBC netwrork protocol and interfaced to CSI task
11/01/94			Added support for BBC GPI driver and removed Procion i/f
01/02/94			Added support for Info Driver in place of Infoman
07/02/94			Removed Procion support functions

Version 1.01
22/02/94			Adder Router Source & Router Destination command
25/02/94			Added List Router command
06/03/94			Added Router Index command

Version 1.02
12/03/94			Modified message exchange constant link to CSI
					All network commands now include WorkstationId
06/04/94			Added ExecWorkstation command
23/05/94			Bug fix to Router Crosspoint command
27/05/94			Added GPI File command

Version 1.03
04/06/94			Increased memory stores to 3000
09/06/94			Added Exec Reboot command

Version 1.04
01/07/94			Added Exec Workstation command

Version 1.05
05/09/94			GlobalFree() bug fix to List Router command

Version 1.06
19/09/94			GlobalFree() bug fix to Router Name command

Version 1.07
22/10/94       Recompiled under Borland 'C'
					Added Router Database modification command
					Added Router Update command

Version 1.08
20/01/95			Bug fix to Router, GPI and InfoDriver Registration commands
11/02/95			Optimised parser
22/03/95			Modified List Load and List Save commands to be able to use paths
					Added Jump Date and Jump Time commands
					Added VideoBlaster support

Version 1.09
02/11/95			Added Jump String & Jump Instring commands

Version 1.10
04/12/95			Added Text Split & Memory Find commands
06/12/95			Added Number Divide & Number Multiply commands
08/12/95			Added Memory Increment & Memory Decrement commands
					Added Exec Debug command and <Alt><Shift> <D> Debug box toggle
					Added Number Get & Exec Message commands
02/01/96       Bug fixes to Info File and Info Hardcopy commands
31/01/96			Added Memory Logic command
03/02/96			Added full filepath capability to AK, AP, AR, EA, DO, EL, FO & TW commands
07/02/96			Modified List Erase command to enable multiple deletes of a given string
22/02/96			Maximum panel size is now 1280 x 1024
28/02/96			Bug fix to Exec Application command
13/03/96			Bug fix to Exec File command

Version 1.11
28/04/96       Register commands now have optional index variable
					Added support for 8 character UMDs

Version 1.12
25/06/96			Added 'Control Name' and 'Control Text' functions
28/06/96			Added 'Memory Read' and 'Memory Write' functions

Version 1.13
					Added ExecUnyield function
					Bug fix to ExecQuit command

Version 1.14
05/11/96			Exec Message command rewritten
					Now closes down when CSI sends a closedown message

Version 1.15
18/11/96			Neural network support removed
					Text Divide and Text Quantity commands added
					Added List Find

Version 1.16	Bug fix to Jump Date command

Version 2.00.00
30/01/97			Development commenced based on version 1.16
					JumpString command changed to Jump Compare
					Exec Jump command change to Jump Offset
					Added Jump Always command
					Added Jump Subroutine command and routines
					Control Blitz and Control Salvo removed
					ExecVariable now executes a single command
					Parser rewritten
					Maximum panels is now 64
					Workstation ID is now in CSI.INI

Version 2.00.01
15/02/97			Added Exec Get command
					Now passes command line variable to S$ and S% on start up
					Added String Find, String Get & String Put commands
17/02/97			Added String Set, String Read & String Write commands
					Bug fix to Router and GPI CSI i/f routines previously re-using variables
					Bug fix to Jump Return command
24/02/97       Added 26 more integer and string under lower case a-z
25/02/97			Router Modify command changed to include BBC_DBASECHG message
					Added Device Profile command to signal to all CSI's to create default database
					Modified Listbox commands to be able to use Combo boxes
					Added breakpoint commmand

Version 2.00.02
18/03/97			Error boxes now show ApplCore version.
					Added Router Query, GPI Query and Info Query commands
					Bug fix to List Get

Version 2.00.03
02/04/97			Bug fix to Number Transfer command
					Buf fix to Exec File command
11/04/97			Added Memory Ascii and Memory Move commands
28/04/97			Added Number Format command
					ApplCore 2 will only accept CSI V2.00 or later
					Subroutines can now be called from the STARTUP stringtable
					Lower case variables can now be used in last parameter to Router Register command
					List Quantity, List Up commands added
					List Item modified to allow positioning of highlighted item in middle of listbox
02/05/97			Added Device Enable command
08/05/97			Modified Router Name command to cope with larger databases
					Modified Debug Breakpoint box to have 'Cancel' option
13/05/97			Bug fix to Router Modify command

Version 2.00.04
20/05/97			Bug fix to ODS command
21/05/97			List Clear & List Delete functions tidied
					List Get function expanded to cope with lowercase variables
27/05/97			Bug fix to Exec Variable command
03/06/97			Added Jump Goto command
15/07/97			Added Control Focus and Control Return commands
18/11/97			Added 'String Timecode' command
					Added 'Number Convert' command
20/11/97       Modified 'List Router' command to have optional comma delimited list of indices

Version 2.00.05
25/11/97			List Router command allows single entry in the optional list
26/11/97			integer storage changed to be long integers
					Can now be used with CSI 1.XX, warnings issued when commands not supported

Version 2.00.06
22/12/97			Selective registration functions added
12/01/98			No longer requires printer driver to be loaded
13/01/98			Bug fix to integer memory functions to handle long integers

Version 2.00.07
14/01/98			Bug fix to GR, IR & RR commmands to extend RetVar to lowercase variables

Version 2.00.08
20/01/98			Added ExecNameDay command

Version 2.00.09
28/01/98			Debug window now split into 2 seperate windows

Version 2.00.10
30/01/98			TSL UMD protocol added
04/02/98			UMD virtualisation option added

Version 2.00.11
25/02/98			Bug fix to RQ command

Version 2.00.12
04/03/98			Bug fix to ListBox/ComboBox detection
06/03/98			String AppName command added

Version 2.00.13
12/03/98			Bug fix to command buffering switch on RC, GS and IW
					Changed fields to frames in 'String Timecode' command

Version 2.00.14
17/03/98			Added BBC_CLOSEWARNING handler to execute CLOSEDOWN stringtable
					Bug fix to prevent com ports being closed on exit when not valid

Version 2.00.15
26/03/98			Added support for HAUPPAUGE Win-Tv card

Version 2.00.16
08/04/98			Added 'CASE' option to Text Edit command
17/04/98			Bug fix to ACPrfu_Init() when no printer driver loaded

Version 2.00.17
24/04/98			Bug fix to List Item command

Version 2.00.18
01/05/98			Bug fix to List Get command to return NULL if nothing selected

Version 2.00.19
15/05/98			Bug fix to integer memories

Version 2.00.20
23/06/98			Control Text command can now use all 64 panels

Version 2.00.21
06/07/98			Added text eXchange command
					System Timer reintroduced as XT

Version 2.00.22
17/08/98			Bug fix to UmdSup_Cycle to take away 4 UMD per chain testing limit

Version 2.00.23
27/08/98			Bug fix to String Read command to strip carriage returns

Version 2.00.24
24/09/98			Enhanced 'String Timecode' with ADD, SUBTRACT and TOD functions

Version 2.00.25
16/10/98			Text eXchange modified to change '/' to '\'

Version 2.00.26
14/01/99			Modification to MF command to allow <Min%> to equal <Max%>
					Added 'String List' command

Version 2.00.27
21/01/99			Added String Message() command

Version 2.00.28
08/02/99			Added HTML command set HC, HO & HW
					Added Video Write command
					Bug fix to text write command

Version 2.00.29
04/03/99			Modified String List to accept string memories as well as integers
10/03/99			Modified Text eXchange to be able to change colons to semicolons etc

Version 2.00.30
12/03/99			Modified EC command to allow panel to be moved with caption bar

Version 2.00.31
22/03/99			Bug fix to Owner Draw bitmap functions

Version 2.00.32
14/04/99			Added String Date command
					Bug fix to TR command to be able to remove spaces

Version 2.00.33
01/06/99	  		Bug fix to ML command give access to full range of integer memories

Version 2.00.34
09/07/99			String memories increased to 4096

Version 2.00.35
18/07/99			CvtFramesToTCode() and GetTODTCode() now return dots instead of colons

Version 2.00.36
25/07/99			Bug fix to Text Split command

Version 2.01.00
19/07/99			Added eXternal driver control commands
					PROC_STACK_DEPTH reduced from 1000 to 500
					Number of parser variables reduced from 10 to 8
					max string length of parser variables increased to 300
					Bug fix to CSI_DISCONNECT value
					M2C support removed

Version 2.01.01
02/11/99			Filepath normalising added to HO
					Bug fix to NormaliseFilename()
					Modifications to make print functions reliable in ACPrfu_StartDoc(), ACPrfu_NewPage(), ACPrfu_EndDoc()
10/11/99			Bug fix to ID command
11/11/99			Bug fix to LH command
12/11/99			Bug fix to LE command
15/11/99			Added Device Status command
					Modificaiton to XP command
16/11/99			Added Device List command

Version 3.00.00
14/06/00			Now 32 bit application using BNCS32 messaging
					Added AppleX support (although disabled pending AppleX release);
					Added debug window
					Modification to Jump commands to allow continuation on the same line as the jump command
					Added List All command
					Added Key Register and Key Unregister commands
					Bug fix to memory alloc for List Router command
					Modification to SL command to allow NULL delimiters
					Now posts WM_ACTIVATEAPP messages to self as BBC_ACTIVATEAPP to prevent interuption to stringtable
					Modified ACParser_ClientStr() to post unhandled messages straight back to host
					EH command now allows application to be moved between front and back in the Z order
					Added 'File Directory' command
					Added 'Exec Override' command and handler
					Modified ACXtext_TextLoad() to use GetArguments()
					Added built-in stringtable editor

3.01.00  28/02/05  Recompiled with latest BNCS32 message cracker
						 Base for upgrade to ApplCore 2.04.09
3.01.01  12/04/05  Bug fix to XP command
						 Added List All command
						 Bug fix to XC, XS and XW commands
						 Modification to Jump commands to allow continuation on the same line as the jump command
						 Bug fix to memory alloc for List Router command
						 Modification to SL command to allow NULL delimiters
						 Modified TS command to optionaly split into either integer or string memories or both
						 Now allows Ids to execute lines 32001 to 32766
						 EA command modified to display reason for launch failure
						 Bug fix to LE commmand
						 Padded commands with null paramters before applying to LF and RD commands
						 Bug fix to make MAXDBNAMESIZE 256
						 Added Text Filter command to remove CRLF and single quotes from strings
						 Command line variable now applied correctly to S$ on start up.
						 Added WindowHasSameName()
						 Modification to TX command in ACXtext_TextXchange()
						 Bug fix to Number Format command
						 Long standing bug in ET command fixed. Now properly stops timers.
						 Added ListBlankErase command
						 Added List eXtract command
						 Added Control Size command
						 Added Text Horizontal Tab command
						 Will now allow multiple instances when command line parameter is supplied
						 Bug fix to ACDxSup_IdRevInfo()
						 Bug fix to ACParser_ClientStr();
						 About box now contains panel version number
						 Added option to INI file for outputting parser trace to OutputDebugString()
						 Added fast closedown option to INI file
3.01.02	12/05/05  Bug fix to EF command
3.01.03  12/05/05  Correction for problem with CI (Control Id) command.
						 Was using Set/GetWindowWord(). Changed to use Set/GetWindowLong()
						 required for 32bit operations.
3.01.04  04/07/05  Added System Timer to call ACMain_SystemTimerCall()
3.01.05  07/07/05  Speeded up System Timer to 50ms
3.01.06  13/07/05  EQ 100 now always quits
3.01.07  14/07/05  Added String Environment command
3.01.08  10/08/05  Compiled with all debug options on
3.01.09  15/08/05  Bug fix to LS command
3.01.10  16/08/05  Now exits straightaway if CSI is not present
3.01.11  18/08/05  Test version to localise ACSTMSup_SetMem() problem
3.01.12  30/08/05  Memory size changes. Noted a few problems regarding char
						 buffers, changed all to 256 or 513 in size and added definitions. Steve Jensen
3.01.13  02/09/05	 KEYREGTIMER handler reinstated in main window procedure
						 Cbncs_strtok class now used for stringtable parser
3.01.14  08/09/05	 Corrections for problem in Cbncs_strtok::Tokenise() and
						 a ">=100" correction in ACXexec_ExecQuit(). Steve Jensen
3.01.15  12/09/05	 changed GlobalAlloc()'s to 256. or size + 256. buffer space
						 to get past issues with various RC's from Paul R.
3.01.16  13/09/05	 Added support for detecting defective STRING's -- indicative
						 of a failure in the compiler or linker.
3.01.17  13/09/05	 Trapping on bad strings data ala Paul R's GFX_1.RC
3.01.18  15/09/05  improve trapping algorithm - allow all alpha/numeric/spaces - SPJ
						 Addition of Min/Max to ML function
3.01.19  26/09/05  Enhancement to the Unknown command pop-up.
3.01.20  28/09/05  Correction to ACSTMSup_SetMem() routine. Only free memory
						 not NULL memory pointers.  Disable Debug window on Win98/Win95
						 systems.
3.01.21  29/09/05  Added debug text format printing (ala Paul R.). thus:
					e.g.
								30000, "EC 1"
								30001, "EB 1 640 500:PI 1:PS 1"
								30002, "ET 1 1000 900 901"
					generates:
						Trace 30000: EC 1
						Trace 30001: EB 1 640 500
						Trace 30001: PI 1
						Trace 30001: PS 1
						Trace 30002: ET 1 1000 900 901

3.01.22  19/10/05 IP/IR/IW now filter for device > 999 (MAX_DEVICES) to prevent
						V3 CSI from crashing ! Emits debug msg to OutputDebugString().
						Correction for LS and LH - sscanf() with a NULL target 1st
						parameter causes BIG exception. Corrected "EQ" command
						problems -- was unloading Bncs DLL while a thread of
						execution still existed throught the DLL -- boom, exception.
						Extensive debugging on Win98 with MSFN VC++ using Emulate.RES
						discovered yet more issues with wrong size memory buffers
						associated with the use of BNCS32SendMEssage() - causing
						subtle failures. Expanded a large number of buffers and using
						"CBDATA_SIZE_POINTER" def. for such buffers (513. in size).
						All panels run on Win98 (with debug dialog operating).
						Re-enabled Debug dialog for release ApplCore version.
						Correction for MA command problem reported by Paul R.

			24/10/05 Added LT & LV commands from Simons V2 source code.

3.01.23  28/10/05 Correction for EF problem introduced in V3 (corrected using
						V2 code).
3.01.24  31/10/05 Correction for EF command problem - unwound above "fix". It
						was incorrect -- removed strtok() -- RC file PanelDTV.rc
						had a BUG !  P$ was not initialized.
			31/10/05 Correction for LG command problem - SendMessage was failing
						causing a 0 to be returned to the JO command.
3.01.25	01/11/05 Correction for handling "--" lines. "--" lines are used
						because "" lines are not allowed in the 32bit Borland env.
						(creates defective .RES file) and MSFT doesn't like such
						either.

3.01.26	02/11/05 Correction for IW broken.
3.01.27  15/11/05 Correction to ACPanel_DialogProc() function prototype.
3.01.28  17/11/05 Added comms support library to allow re-enabling of UMD commands
3.01.29  21/11/05 Added String Hex command
			22/11/05 'iUmdSize' entry renamed 'UmdSize'
						Now closes down if no STARTUP line found when error boxed is acknowledged
						Trace now expands variables
3.01.30  06/12/05 Uncommented-out the DestroyWindow, in ACPanel_Destroy() so
		that BNCS_CCxx libraries are notified that ApplCore is
		shutting down the window of interest -- allows the DLL's to
		deregister / clean up.

3.02.00  23/11/05 Added resilience message handlers
						Added Device Mode command
						Added Exec Status command
						Function prototypes for WndProcs changed
3.02.01  06/12/05 Uncommented-out the DestroyWindow, in ACPanel_Destroy() so
		that BNCS_CCxx libraries are notified that ApplCore is
		shutting down the window of interest -- allows the DLL's to
		deregister / clean up.

3.02.02  09/12/05 Masked wParam in ACPanel_DialogProc() to filter off HIWORD
						Paint problem fixed in diagnostics window
						EA Command : SendMessage() changed to BNCS32SendMessage()
						ER command modified to include LOGOFF and KILLCSI options

3.02.03  12/12/05 Bug fix to filter out listbox notifications when receiving focus
						Bug fix to ACXroute_RouterUnregister() default Min Max range is appended.
3.02.04  12/12/05 Modification to ER command to ensure Win9x and NTx compatibility
3.02.05  21/12/05 Added List Null command
3.02.06  06/01/06 Correction for ER - reboot problems on NT/XP - now calls
						AdjustTokenPrivileges(), etc. to get priv. on NT systems.
3.02.07  11/01/06 BBC_DATABASECHANGE, BBC_NETTXRXSTATUS, BBC_DEVSTATUSMSG now processed via FIFO
3.02.08  13/01/06 Bug fix to new BBC_DATABASECHANGE handler
3.02.09  24/01/06 Bug fix to ACXumd_UmdPutTslNormal()
						Began implementing 32 bit video overlay support
3.02.10  24/01/06 Bug fix to ACXumd_UmdPutTslVirtual() & ACXumd_UmdPutProbel()
3.02.11  06/02/06 Completed initial video overlay support in Video Enable and Video Disable commands
3.02.12  10/02/06 Added Text Break command
3.03.00  27/02/06 Now uses GetConfigDirectory
			28/02/06 Modified EA command to use CreateProcess() and enhanced error message reporting
			01/03/06 Added Exec eXecute command
3.03.01	10/03/06 Modification to XR command to use BBC_CTRLCONNECT32
						Modification to ACDxSup_Disconnect to use BBC_CTRLDISCONNECT32
						MAX_EX_DATASIZE set to 1025
						GetConfigDirectory() now GetBNCSConfigDirectory()
						Added GetBNCSSystemDirectory to get path to DLLs for LoadLibrary() to use
3.03.02  12/04/06 Fix to EF command
3.03.03  10/05/06 Increased acTrace to be MAXSTRINGSIZE*2 in GetArguments()
3.03.04  11/05/06 EG command now appends '0' as a default offset
3.03.05  19/05/06 Extra parameter added to EA command to inhibit error box on load failure
3.03.06  31/05/06 Added String Interval command
3.03.07	15/06/06 Bug fix to XR command to initialise 32 bit messaging correctly
3.03.08  28/06/06 Revertives as a result of XR command now passed through fifo
						Can now scroll back debug window
3.03.09  12/07/06 Bug fix to prevent ODS call with string length greater than 256 bringing up message box

  3.03.09a 18/05/07 branch release for DIRECTV
						Corrected several missing changes to support GetBNCSSystemDirectory()
						in files acxexec.cpp and acmain.cpp.

3.03.09b 26/02/08 branch release for DIRECTV -- Correction to EF for directory relocation.

3.03.10  19/07/06 Bug fix to SI command
3.03.11  01/09/06 Maximum string sized in creased from 128 to 256 in ACXexec_ExecApplic()
						Added third parameter to the EA command for optional translation of the escape character
						EX command no longer returns !Error!
						Added 'String Compose' command
3.03.12  03/10/06 Fix to JD command
						EA command no longer converts ';' to ':' when in 'no translate' mode
						EV now parses a line rather than a single command.
3.03.13  10/11/06 Restored functionality to stringtable editor
3.03.14  13/11/06 Pause on left mouse click added to doagnostic window.
3.03.15  21/11/06 Entry in APPLCORE.INI if enables allows Sytem Menu exit
3.03.16  24/11/06 Bug fix to ensure EA command compatibility prior to 3.03.11
3.03.17  29/12/06 Bug fix to correct fifo revertive handling for control externals
						WAKEUP stringtable no longer called if application closing down
3.03.18  02/01/07 Control external intercept modified to uses 32 bit messaging for GRDs & GPIDs
3.03.19  09/01/07 Added QH command to query dialog handle
3.03.20  14/01/07 Bug fix to prevent exception when JD parameters contain NULL strings
3.04.00  17/01/07 Bug fix QH command to filter out of range parameter numbers
						Modified QH command to return backpanel window handle if panel '0' specified
						Modified PM command to allow backpanel to be moved if panel '0' specified
						Implemented PZ command (Panel siZe) so that panels can be sizes as well as moved
						Implemented QP command (Query Parent). QP A% B% returns the parent window of the HWND from A% into B%.
						Implemented QD command (Query Desktop). QD X% Y% returns desktop screen width, height into X% and Y%
	A01 - 18/01/07 SC modified to not lower the case of the format string
						Bug fix to TS command to prevent garbage appearing in string memories when NULL string supplied
						SE modified to convert search string to uppercase
	A02 - 19/01/07 Bug fix to PZ and TS commands
	A03 - 20/01/07 Implemented QC command (Query Child)  QC A% B% C% returns handle of control B% on panel A% in C%
3.04.00  29/01/07 Release of 3.04.00 - SD - BCNU!
3.05.00  01/02/07 Build from CVS
3.05.01  06/02/07 Parsewr commands now go to the debug stream even if Diagnostics is not turned on
3.05.02  23/02/07 Change the EC command back to historic function. Added EC 4 & 5
3.05.03  27/02/07 Bugfix for the SC command -- memory over write bug reported by Paul Ratcliffe
3.05.04  27/02/07 SYSTEMDELAY was 50 changed to 5 to improve performance - Simon recommended change Feb-2007
3.05.05  02/03/07 Change the EC command back to correct function - WM_WINDOWPOSCHANGING
						is once again handled.
3.05.06  02/03/07 Change the EV command - Recommendation from Simon is in acstmsup.cpp to raise
						STM_MAXMEMORIES to 32769 and in applcore.h to change EXECVARTEMPMEM
						from 4097 to 32768.
3.05.06  05/03/07 Changes applied to the EC command.
3.05.07  16/03/07 Changes the EC command to support the correct function of EC.
						Added EC 4 and EC 5 requested function - requested by Paul Ratcliffe.
						working on EC EB and friends -- this is where the 20 pixel offset
				        correction was introduced.
				        added PZ command support
         19/03/07 Changes the AP command added line number vector for file missing.
		 19/03/07 XT command added back into V3. Was removed V2 -> V3 port.
3.05.08  21/03/07 Changes to printer support. Printer support on some machines
						causes a slow start up. PrinterSupport =0 in Applcore.ini
						disables all printer support.
						Changes to the ParserTrace -- outputs all info to OutputDebugString() also.
3.05.09  02/04/07 Added ED support modes: 0/1 for Variables, 2/3 for Debug (bit 0 below),
						4/5 for OutputDebugString (bit 1 below), 6/7 for Parser Trace (bit 2 below),
						8/9 for Diagnostics (bit 3 below)
						Correction of debug window scrolling memory over-write problem reported as
						corrupted data in InfoDriver polling -- reported by Dave Smith CCA

3.05.10  05/04/07 Correction for initial state supporting the ED command.
						If debug state is set in the INI file and when "debug" is checked in the
						menu these are set: DEBUG_DEBUG_CONTROL_BIT + DEBUG_OUTPUT_DEBUG_STRING_CONTROL_BIT

3.05.11  26/04/07 Previous edition had a few problems. This edition adds the menu and .INI file
						entries for all of the new ED modes.
						Bug fix to SI command for midnight wrap around.
						Added certain ApplCore.ini file string defs to ApplCore.h file
						Corrected several missing changes to support GetBNCSSystemDirectory()
						in files acxexec.cpp and acmain.cpp.

3.05.12  30/04/07 TimeStampStartup APPLCORE.INI file emits DIAGNOSTIC_USE_ONLY as default.
3.05.13  30/04/07 ET 1 starts up with T$ and U$ set to current time.
3.05.14  01/05/07 bug fix for WAKEUP & SLEEP JS in wakeup lines causing the following
						lines to not execute. Now setting stack and stack index to maintain
						"iInSequence".

3.05.15  02/05/07 bug fixing in ED command

3.05.16  22/05/07 bug fix in EV command.
3.05.17  23/05/07 bug fix in EV command.  Corrected in sequence flag issue.
3.05.18  31/05/07 enhancement of the CD/CE command. Added range parameter.
						TS & SL cmd bugs fixes
						RN correction 128 name limit to 256 (236).
3.05.19  18/06/07 Correction for TS command - re: Gile Moss CCA
3.05.20  26/06/07 Correction ApplCore startup when CSI is not in Client Mode - re: Dave Smith  CCA
3.05.21  29/06/07 Correction for problem identifed in UMD system with UE & UP
						commands - identified by Paul Ratcliffe.
3.05.22  29/08/07 Correction for IR not functioning with A% as the index target var.

3.05.23  28/12/07 bug fix for problem developed in the fix for WAKEUP & SLEEP JS
						back in version 3.05.14. Now setting "iInSequence" back to 0
						and also the start up "wakeup" first time run problem corrected in V1/V2.
						(folded in to this version from 2.05.20  05/12/06 Fix to prevent WAKEUP
						stringtable being called on application start).

3.05.24  05/03/08 Adding VE command support for reading the INI file at each VE execution.
						Suggestion from Stuart Gandy.
                  Correction for LR command - bug '0,1,2,' reported by Robert Brown (SCAR)

3.05.24  05/03/08 Adding VE command support for reading the INI file at each VE execution.
						Suggestion from Stuart Gandy (our customer)
						Correction for LR command - bug '0,1,2,' reported by Robert Brown (SCAR),
						added 3,4,5 (same as 0,1,2 but no-case compare)...
                  Enhancement to LF command per request from Robert Brown (SCAR).

3.05.24  05/03/08 Correction for SA command - bug reported by Robert Brown (SCAR).
                  SA always does an upcase on the workstation/application name
                  before it is returned.

3.05.25  25/03/08 disabled "timestamping"
3.05.26  10/04/08 merge of DIRECTV changes (Pretty minor)
                  Added support of navigation from V2ApplCore (2.05.15 17/03/06) Modification
				      to KR handler to allow navigation keys to return string data.

3.05.27  14/07/08 Correction for LG command problem paired with the issue in
						BNCS_CC17.DLL. The correction in version 3.01.24 31/10/05
						was incomplete.

3.05.28  17/08/08 Removed old 16 bit ApplCore.def file
						Added Amazon UMD protocol from V2
						Modified XC, XS and XW commands to have optional parameter to set
						paramters without network. update iInterceptData changed to be long int
						Changed UMDProtocol config entry to use acPath[] instead of APPLCORE.INI

3.05.29  25/08/08 Modified XR command to use normal SendMessage first and then connect again
                   using 32 bit direct.  This overcomes the problem whereby broadcasting
				   32 bit messages causes probs in some MS apps like Outlook

3.05.30  05/09/08 Added INI file parameter to optionally cycle Amazon UMD protocol
3.05.31  21/09/08 Bug fix to CD and CE commands for when Min/Max range not specified.
						Bug fix to JD command to handle '-'
3.05.32  26/09/08 Bug fix to XD command to allow one character strings to be passed
3.05.33  22/10/08 Bug fix to CN command allows max character strings to be passed from data bases.
                  Was previously limited to 20. Was size limit of 20 from V2ApplCore.
						Correction for ApplCore.INI file vars: "DebugMode" and "VideoCard" are
						not set to OBSOLETE if they do not exist in the ApplCore.INI file
3.05.34  02/12/08 bug fix for XR command & KR not getting lower case keystrokes A-Z
3.05.35  30/12/08 bug fix for CF command not functioning since version 3.03.14 -- see
						notes in file: ACMAIN.CPP
3.05.36  12/01/09 Enhancement of XR / UR command to be like the GR/IR/RR commands.
						Limit debug msgs in LG cmd. on LB_ERR returned by LB_GETCURSEL.
3.05.37  05/02/09 Implementation of a scheme of limiting the number of panels running
						i.e. "resource management for EK & EQ. Start up delays 500ms  then
						runs a through the Z order of ApplCore panels - limiting to
						ApplCore.ini:MaxExecWindows, default is: 24.
						Correction for QD parameter crashing bug. Correction for CF and <TAB>
						control issues not fully sorted in version 3.05.35
						This version only released as a series of "test" versions.
						SD fix for leap year issue with 00-Jan-2009 first date after leap year.
3.05.38  06/02/09 Default Workstation number no longer set to -1 in CSI.ini, rather set
						to a value of 999 (MAX_ID).
3.05.39  12/03/09 Additions  for Keyboard KR support. Various Fn keys and special key
						mappings.  Added "EM" command parameter three, if value is 1, then
						puts up a MessageBox()
3.05.40  27/03/09 Corrections for MR & MS, very old V2 applcore issues, simple changes.
                  Correction for QD parameter crashing bug, which did not get included
				  in the version 3.05.37. Time stamping disabled by
                  setting default to zero in ApplCore.INI file.

  (* special builds for W1 diagnostics *)
3.05.40a 24/06/09 Addition of diagnostics for FIFO levels
3.05.40b 25/06/09 Addition of file logging for FIFO levels and HWM
3.05.40c 26/06/09 Bumped revertive FIFO size from 1024 to (1024 * 10)
3.05.40d 29/06/09 Revertive FIFO size reset to 1024, corrected bugs in FIFO incr./decr code.
3.05.40e 06/07/09 Corrected bug in read FIFO incr./decr code.

3.05.41  15/05/09 Corrections for XP/XR & TB (very old V2 applcore issues), simple changes.
                  Correction for problem noted in MM by Paul Ratcliffe.
						Correction for problems noted in EQ by Stuart Gandy. EQ 0 should
						not immediately exit.  Another correction for EQ -- using magic number
						for response to BBC_IS_APPLCORE_WINDOW  APPLCORE_CONFIG_MAGIC.

3.05.42  08/06/09 Enhancement to Registration commands RR / IR / GR, added <DriverVar%>
                  Correction for EH issue -- show top window after an EH <panel 0 cmd.

3.06.01  19/06/09 NEW STARTUP functionallity. Start line (30000) is started via post
                  message, this corrects the uncertain start up behaviour noted in
				  Paul Ratcliffe's XR and XP in start up lines causing significant delay.
3.06.01  23/06/09 Addition of diagnostics for FIFO levels
                  Addition of file logging for FIFO levels and HWM
				  Corrected bugs in read FIFO incr./decr code.
3.06.01  26/06/09 Correction of the Accelerator Keys for "&Parser Trace" and "&Debug"
3.06.01  13/07/09 Fix for right click menu position in both main and dialog panels.
		 30/07/09 Changes to support long file names in EA. Added V2CompatibleApplNames
			      to Applcore.ini
3.06.02  22/07/09 Fix for EF issues noted by Stuart Gandy
3.06.03  01/09/09 Fix for EA issues noted by Stuart Gandy and Dave Smith,
                  regarding long and very short file names. Added ApplCore.INI var
				  V2CompatibleApplNames=0 - set to 1 to support mixed V2 / V3 env's.
3.06.04  08/09/09 Fixes for additional EA issues.
3.06.04  16/09/09 Fixes for EH command (bug #1420). Added ApplCore.INI
						"System", "TxVerticalBarCRLF", default is disabled (0).
3.06.04  16/09/09 Fix for off by one problem in the number of panels which
						can be started. Reported by Paul Ratcliffe setting MaxExecWindows=3
						could only run 2 panels.
3.06.04  24/09/09 Fix for EH 0 0 & EH 0 1 cases (bug #1437)
3.06.05  13/10/09 Fix for EA /Panel manager issue (bug 1468)
						Minimum applicationname is eight, padded with underscore
                  characters followed by three numbers of workstation ID
                  number (bug #1420).
						V2CompatibleApplNames is used to force the old 8.3 version.
3.06.06  27/10/09 Fix for EF correction as specified for bugs identified by
                  Paul Ratcliffe and Stuart Gandy.
						Also, "NewStartUp" ApplCore.ini env is not longer created
						in ApplCore.ini, and the default is set to 1.
3.06.06  02/11/09 Release build
3.06.07  05/11/09 Correction for EA with NULL parameters, single space for
                  parameters crasher. bug #1468/1519
3.06.07  11/11/09 Correction EA S$ not translating in "1"
						case. bug #1520
3.06.07  16/12/09 Correction EF variable[2] (3rd parameter) parsing problem.
3.06.07  17/12/09 Correction EA long file name problem.
3.06.08  21/12/09 Additional corrections for EF and EA long file name problem.
3.06.09  04/03/10 Additional corrections for EF and EA long file name problem.
                  bug 1585 (EA wd.exe VS EA c;/bncs/clients/wd.exe)
3.06.09  05/03/10 Colin Regan noted missing separator between command code and
                  parameter does not work correctly as per V1/V2 (example:
				  :TL'This is ' j$ ) -- added detection and correction code
				  in GetArguments().
3.07.00 22/04/10	adds XN command to get TxRx status to external client
3.07.01 08/06/10  Correction to EA -- now handles file: bncs_monitor.exe and
                  c:/bncs/clients/bncs_montiro.exe correctly. Bug 1625

3.07.02 October-November-December-2010-January-2011
				  Added ListBox support search functions and keyboard linkage
                  enable/disable - BUG 1620. Note: max listboxes per dialog panel is 64.
				  Added NB (Number bit operations) - BUG 1620.
				  Bug fix in init re: pApplDllCall not initialized - causing
				  exception during init with debug CC libs.

				  BUG 1620. Disabled DEBUG variables call to BringWindowToTop(hWndDebug)
                  so no updates on debug variables windows so keyboard
				  stays in focus on editboxes, etc. changes to acmain.cpp

				  This corrects a problem (BUG 1693) dating to the earlier versions
				  of ApplCore - where the
				  --- time/date timer ( #1 ) is stopped
				  --- the panel is De-initialized
				  --- the panel is Re-initialized
				  --- the panel is then shown
				  --- time/date timer ( #1 ) is then started.

				  The bug is that the timer DID NOT start up and therefore there
				  was no timer activity to T$ and U$ date/time -- no date/time
				  events to the panel.  for example:
				  ET 1 0 0 0 :PD 1 :PI 1 :PS 1 :ET 1 1000 9000 9001 :ET 1 1000 9000 9001

				  Added support V3 EZ (v2 EO) command for outputting debug strings from
				  V2 ApplCore version 2.02.29 03/07/02
				  Added support for access to DB 2-9 in RI command. bug 1598
				  requires use of CSI32 (to get use of BBC_GETDBASEINDEXEXT).
				  Added support to LF for Allow match with Space Characters Bug 1757.
				  Added support for UPKEY on KR VK keys support.
				  Added new parameter to KR in order to support selection of
				  current KR functionallity, new support for up key on VK's and
				  new support for keyboard DLL (KeyHkAC.dll) in order to capture
				  all keys even when out of focus. New modes 1, 2 & 3.
				  Added support in NC for HEX values: i.e. 0x1002 --> 4098.
				  Added SQ command to query for running exec name.
				  Added function type 2 to EX command.
3.07.03 02/03/11  KR support bug fixes for wrong keycodes in modes 2 & 3.
3.07.03 28/02/11  Correction for LR error introduced with new LF support. bug 1929
3.07.04 03/03/11  KR support bug fixes for wrong keycodes in modes 2 & 3.
3.07.04 22/03/11  Correction for returned parameter bug in LF (bug 1992).
3.07.04 22/03/11  Changed SQ to use config directory rather than System directory (bug 1994).
3.07.05 29/03/11  Correction for LF command old style compatibility bug 2007
3.07.06 21/06/11  Added timestamp debug msgs in panel destroy.
3.07.06 08/07/11  Correction for LP command  bug 2088 - removed crashing debug msg.
                  Correction for TE command  bug 2089 - added parameter validation &
                  warning messages to debug when target is not a string variable,
				  no longer crashes memory when string literal is passed as parameter.

3.07.07 25/08/11  Correction for JS in AC_CLOSEDOWN & AC_DATABASE vector -- preload the execution stack ..bug 2030 & 2105..
3.07.07 26/08/11  Correction for bug 2112 EX parameter issues.
3.07.07 07/09/11  Correction for bug introduced in 3.07.06 associated with bug fix of TE command (bug 2089)
                  which was mis-integrated.
3.07.08 07/09/11  Correction for bug 2117 - TS command failing to populate zero location memory.
3.07.08 08/09/11  Correction for bug 2112 EX - removed from 3.07.08

3.07.09 09/09/11  REMOVED correction for bug 2117 - TS command -- ROLL BACK TO ORIGINAL CODE.

3.07.10 09/09/11  Correction for bug 2112, EX - extensive rework of parameter handler/counting scheme.
3.07.10 12/09/11  Correction for bug 2117, TS command failing to populate zero
                  location memory when zero length string specified..
3.07.10 23/09/11  Correction for bug 2130, KR command 0 & 1 does not need keyboard DLL (KeyHkAC.dll)
3.07.10 10/10/11  Corrections for bug 2112, EX additional issues noted by Paul Ratcliffe
3.07.10 11/10/11  Corrections for bug 2133, EF section names with spaces issues
3.07.10 21/10/11  Correction for bug 2117, TS command failing to populate zero
                  location memory when zero length string specified..
3.07.10 24/10/11  Another correction for bug 2117, TS command still whacking the integer memory
                  location when zero length string specified - now corrected.
3.07.11 26/10/11  AC_WAKEUP stack trace is now under control of the INI var OutputParserStack
3.07.11 27/10/11  Correction for bug 2112, EX additional issue noted by Paul Ratcliffe
3.07.11 03/11/11  Another correction for bug 2112, EX additional issue noted by Paul Ratcliffe
3.07.11 10/11/11  Enhancements work for Bug 2134, AP audio curtailed -- adding audio thread scheme.
3.07.11 16/11/11  Another enhancement bug 2112, EX performs std. path searchs for DLL
3.07.11 17/11/11  bug 2163, EQ 1000, Brian Walton wants a really fast shutdown
3.07.11 26/11/11  Another correction for bug 2112, EX additional issue noted by Paul Ratcliffe
3.07.11 26/11/11  Enhancements work for Bug 2134, AP audio curtailed -- corrected AM cmd
3.07.11 26/11/11  Provisioning for CodeBlocks building of AC

3.07.11 08/12/11  The correction for bug 2117, TS command did not get integrated from the
                  3.07.10 test release to the 3.07.10 release. The code changes are now included.
3.07.11 23/12/11  Integration validation build.
3.07.12 06/01/12  Correction for EM execution stack problem after messagebox loss of focus - bug 2180
3.07.12 16/01/12  Added Added test code scaffolding in TG (if/def debug code using GetWindowTextLength()).
3.07.12 21/01/12  Changed the names of the Debug.cpp emtry points to include "Debug_" in order
                  to correct symbol name space issues for the VC6 debugger.
3.07.12 31/01/12  Correction to parameter parsing for parameters 5,6 & 7 in IR, GR & RR.
                  Bug 2203 reported by Paul Ratcliffe

3.07.13 03/02/12  Bug 2198 correction for LG missing String return var over writing
				  random. Adding filter code. (to LG, LX, NF, TR (Was on TE already).
3.07.13 04/02/12  Bug 2198 eval of params where target is NULL, is indicated as
                  "<appname> WARNING: line:"  rather than "<appname> ERROR: line:".
3.07.13 06/02/12  Bug 2205 eval of SC params where targets result in over size output result.
                  Now length range check "WARNING: line: %d, cmd: 'SC' resulting string
				  length exceeds 255. Truncating."  Applied to SE and NL also.
				  Bug 2207 eval of TL params where wrong syntax is used (TL 0 o%) crashes O$ - fixed
3.07.13 09/02/12  Bug 2119 EZ outputs formatted text like SC command feature request
3.07.13 10/02/12  Bug 2198 additional corrections for LG, LX, NF, TR, TE parameter validation,
                  filtering, etc. Enhanced function in GetArguments() to do the work.
                  Now trapping NON-ASCII characters in the string table.  Had noted an apostrophe
                  of -122 decimal. It was in the TL cmd and the parser did not find the literal
                  string because of it. Now trapping with error msg in ACSTMSup_SetBoundStrings() .
3.07.13 14/02/12  Bug 2198 additional corrections for parameter validation -- parameter
                  checking calls added to all commands. Added environment variables to
                  enable/disable parameter inspection and warning & error messages.
3.08.01 15/02/12  Rolled version minor number given all the changes above.
3.08.01 19/02/12  Bug 2197 Sorted additional EM mode 0 + timer execution issues
3.08.02 21/02/12  Correction for warning message for IW command parameter 2.
                  Correction for TL return string non-zero problem.
				  Correction for CU command parameter inspection had "CN" in msg.
				  Correction for DI command parameter inspection can be string or integer
				  Correction for EE command parameter inspection 2nd param is a string.
				  Correction for EX command parameter inspection 2nd, 3rd, 4th & 5th parameters.
				  Correction for HD command parameter inspection param is string not numeric
				  Correction for HW command parameter inspection had "HR" in msg.
				  Correction for IR command parameter inspection 6th-8th params are optional.
				  Correction for SA command parameter inspection had "SN" in msg.
				  Correction for TW command parameter inspection had "TX" in msg.
				  Correction for WF command parameter inspection had "WT" in msg.
				  Correction for XU command parameter inspection had "XT" in msg.
3.08.03 22/02/12  Correction for TG got broken when debug switched off.
3.08.04 22/02/12  Correction for EM when no timer parameter is specified.
3.08.04 22/02/12  Correction for SE crasher I just happened to come across.
                  Problem is when specified env. var. does not exist.
3.08.05 22/02/12  Correction for NB shift left or right zero, (1 >> 0) and (1 << 0)
                  both were returning 0, should be 1 (the value). Bug 2221
3.08.05 05/03/12  Debug Variables Windows Height tweeked + 10 bug 2229 vars
                  window not high enough (added 10) and added applcore.ini
				  vars to aid in customization. Bug 2229
				  Correction for bug 2228 TS 1st parameter being zero length
				  return 0 in the return memory.
3.08.05 07/03/12  bug 2205: Added parameter range evaluation of Numeric Memory parameters
                  to MD, MF, MG, MI, ML, MM, MP, MR, MS, MW, SL, TS.
				  Added asserts in memory alloc and lock of above cmds.
                  Correction for MR command parameter inspection had "MP" in msg.
3.08.05 09/03/12  Added support for QF - bug 2233 - QueueFlush(), sends BBC_SENDQUEUEDCOMMANDS
				  to csi32 -- requires at leastcsi32.exe version: 1.1.33, dated: 11/07/11
                  bug 2205: Added parameter range evaluation of Numeric Memory parameters to
                  GR, GU, IR, IU, IW, RR, RU, SF, SG, SP, SR, SS, SW, XR, XS, XU, XW.
3.08.05 10/03/12  Added base line support for a Timer Thread - if/def'd out - supporting
                  EM type 1 (window MessageBox).
3.08.05 12/03/12  AK with NULL filename specification cancels the specified "UP" or
				  "DOWN" operation. Checking string length for AK, AP, AR, BP, EL, EM . XXXXX
				  Now range checking PanelID, ControlID, Device Numbers & Data Base
				  parameters for commands CA, CC. CD. CE, CF, CI, CM, CN, CR, CS, CT,
				  DC, DD, DE, DG, DI, DL, DM, DP, DR, DS, DW, Hx series.
3.08.05 13/03/12  Now range checking Line Number parameters for Jx, Kx, Lx, Px, Qx  cmds.
				  Correction for NC sense of number to string need not check for NULL string.
3.08.05 14/03/12  Correction for iEnableParameterInspection & iEnableParameterInspectionMsgs
                  was always set to 1 in acmain.cpp
				  Correction for parameter parsing problem reported in bug 2203 regarding
				  the use of variable A% in IR/GR/RR cmds.
3.08.05 22/03/12  Changes for resilience functionality support of Infodriver32 from Steve
                  Lowe integrated into source code. Changes from Dave Yates using bncsif32
				  and BBC_COPYDATA integrated into source code.

3.08.06 03/04/12  Correction for Audio Thread play issue/crash when no filename passed.
				  bug 2205: Added more string evaluation testing to commands.

3.08.06 10/04/12 ---> 18/05/2012: Memory corruption validation testing.
				  Bug 2200 developing multi-column ListBox support across Lx commands
				  Added "LO" command - multi-column aupport.  for Version 3.09.01

3.08.06 12/04/12  Changes to XR command to add 7th parameter. bug 2146
        20/04/12  added g_ prefix to most 'global' variables (additional cleanup & refactoring).
        24/04/12  Added parameter inspection support in ACSUFU for optional numeric parameter.
		          Added "TimeStampProfiling" applcore.ini var. and some support.
		02/05/12  Working on ---> Corrections to the Audio system Ax cmds for play out of second
		          speech panel from Stuart Gandy.
		18/05/12  Corrections for bug 2250 IR error in dealing with optional [<IdxRetVar%>]
				  parameter. IR/GR/RR revertives would crash A% if IdxRetVar% was not specified.
				  This problem has been with us for a very long time -- since version 3.05.22
                  dated: 29-August-2007.

		24/05/12  Correction in ND Quotent and Remainder returned vars were not being checked
		          for existance so A% was being crashed if Remainder was not specified.
		25/05/12  No longer checking for String parameters equal to NULL: EM, JC, JG, LG,
		          LP, LT, NF, SD, ST, TB, TW,
3.08.07 08/06/12  Correction to LF error introduced in 3.08.06 - integration error.

3.08.08 29/06/12  Correction Panel ACPanel_Create() VC6/VS version only displays MessageBox on create
                  failure when _DEBUG build.
        10/07/12  No longer emitting a MessageBox for ACPanel_Create() when panel fails in MSFT version.
		          V3Raman panel from Keith Knowles is the source of the problem. Bug 2286
		10/07/12  Added return variable over-write protection to: EF, DI, DS, Nx, RD, TQ, XD.
		17/07/12  Sorting EF problems in bugs 2216, 2235 & 2285
		23/07/12  Parameter checking for RD was incorrect. Fixed. Added doc to Rx commands.
		07/08/12  Correction / redesign of EF command - bugs: 2216, 2235, 2285
3.08.08 14/08/12  Pre-Release build.


3.09.01 08/06/12  Looking at EF issue in bug 2235 - releative path not working. Corrected
				  problems in parameter inspection.  Also tidied up the parameter inspection
				  for parameter three -- checking for numeric variable present.
				  Tidied a bit in the AP cmd, now using SC thread command instead of AS thread
				  command to the audio tread system when stopping thread prior restarting
				  thread using immediate mode.
        09/06/12  Added NonQuotedStringLiteralFound parameter type to deal with non-quoted
		          strings i.e. what happens  in EF.  EF parameters 1 & 2 ignore null strings.

        11/06/12  Added more regression testing hooks. NF is now validateding <Format$> parameter.
		12/06/12  Added parameter protection to LG cmd - if Fourth Parameter is missing then it crashes vars.
		13/06/12  If the STRING TABLE line is longer than 256 then message is emited...

				  STRING TABLE lines containing special case single quotes characters
				  0x91 (-110) or 0x92 (-111) are flagged and converted to ASCII 39.
				  (ASCII single quote).
		15/06/12  Added parameter protection to MA, MF, MG & ML cmd - if RetVar Parameter
		          is missing then it crashes vars.
		15/06/12  Corrected a bug in SE with stale data in the return buffer.
		21/06/12  Corrected a bug I found in SR: on EOF need to write the last buffer to the string memories:
		22/06/12  Corrected bugs Lx cmds regarding returned vars - add checking for parameters specified so
		          as to not over-write other not specified vars.
        23/06/12  Added more regression tests for Lx cmds
		24/06/12  Added still more regression tests for Lx cmds
		26/06/12  Added still more regression tests Px cmds
		26/06/12  Added still more regression tests Qx cmds
		26/06/12  Added still more regression tests Ux cmds
		27/06/12  Added still more regression tests Xx cmds. Corrected bugs Xx cmds regarding returned vars -
		          add checking for parameters specifies as to not over-write other not specified vars.
		28/06/12  Added still more regression tests Rx cmds. Corrected bugs Xx cmds regarding returned vars -
		          add checking for parameters specifies as to not over-write other not specified vars.
		29/06/12  Added still more regression tests Ex cmds. Corrected bugs Ex cmds regarding returned vars -
		          add checking for parameters specifies as to not over-write other not specified vars.
		29/06/12  Added still more regression tests FD cmd. Corrected bugs FD cmd regarding returned vars -
		          add checking for parameters specifies as to not over-write other not specified vars.
		01/07/12  Added still still more regression testing.
		03/07/12  Testing bug changes of Lx implementation.
		06/07/12  Added load time syntax checking full file / all strings loaded & inspected & repored
		          for problems regarding over size length.
		09/07/12  Sorting issues in Lx regression testing
        10/07/12  No longer emitting a MessageBox for ACPanel_Create() when panel fails in MSFT version.
		          V3Raman panel from Keith Knowles is the source of the problem. Bug 2286
		10/07/12  Added return variable over-write protection to: EF, DI, DS, Nx, RD, TQ, XD.
		17/07/12  Sorting EF problems in bugs 2216, 2235 & 2285
		23/07/12  Parameter checking for RD was incorrect. Fixed. Added doc to Rx commands.
		07/08/12  Correction / redesign of EF command - bugs: 2216, 2235, 2285
		16/08/12  Correction of possible UserVar buffer overwrite in cmds: XG & XD, now limited to 256-1.
		17/08/12  Corrected a problem in XR cmd with indexing g_dx[] - run-time crash in Borland only.
		20/08/12  Corrected parameter range checking in XG, XI, XP cmd.
		21/08/12  Debug windows can be up to 2048 x 2048.
3.08.08 22/08/12  Release build.
		23/08/12  Added Jx zero case regression tests.
3.08.09 28/08/12  Corrections to the EF command.
                  String length limit for EX return string parameter number five for function type zero.
3.08.09 28/08/12  Release build.
		29/08/12  Added return variable over-write protection to: XT
		          Corrected a param check bug in PV. Was looking at param 0 instead of 1.

		06/09/12  bug fix typo in LF cmd, old search, case #3 not working (broken since Nov-2010 3.07.02).
		06/09/12  Now building with Borland 3.52 compiler.
3.08.10 11/09/12  Correction for EF relative path adding extra back-slash i.e. "c:\some\path\\.\my.ini"

3.08.11 28/09/12  Correction for IS cmd, "<Index%> is actually <LineNumberIndex%> and I was checking the
                  limits as a device slot limit instead of line numbmer limit
3.08.12 05/10/12  Correction for NB 'NOT' bug #2309. The mask was not being created and managed correctly
3.08.13 15/10/12  Correction for IR, RR & XR bug #2050.

		15/10/12  Correction for XR bug parameter #8 (var array [7]) was not being evaluated as
		          get args was only getting 7 vars not 8.
3.08.14 01/11/12  Added source file presence checking for IS, EL, HO, LL, LS, MR, SR, SW, and TW cmds.
				  Correction for multiple IS cmds in subroutine not executing response vectors bug 2313.
				  Now marking replies as "InSequence" and queued into the AuxProc as are other msgs from CSI.
3.08.15 19/11/12  Correction for parameter issues in LR cmd causing crash (classic strtok() & atol()
				  NULL ptr issues), bug 2324.
                  Correction for bug 2330, now checking for max router support destinations in RN in LAWO systems: 65535 (ROUTER_MAXDESTS_LAWO)

        20/11/12  Robert Brown says the LAWO router works correctly in W1 / North project system
		          with version 3.08.15 corrections to RN command.

3.08.16 08/01/13  Corrections to RI command should not have been range checking RetVar
				  Corrections to Rx command to allow 0 and -1 indeces. -1 is expected to return
				  a name of "---" from RN cmd. Correction of LR parameter check error msgs..
				  LR command parameter seven is optional. LF searching for null string returns
				  found count of 0.

				  Corrected LF problem with search type 3 not working.
				  Corrected JG crash on zero length string parameter.
				  Corrected MD crash on negative value index parameter.
				  Corrected ES crash on router index parameter greater than max routers.

3.08.16 11/01/13  Release build.


3.08.17 29/01/13  Corrections to LL command range checking errors for parameters 2 and 3.
				  Corrections to JG command - no crash on wrong parameter list.
				  Corrections to JG command - The "crash proofing" changes applied
				  are to handle <VarList3$> parameter list evaluation problems,
				  i.e. strtok() exceptions.

		12/02/13  Bug 2350 - SL command issue with uninitalized memory.
				  String Memories (g_hStrMem[]) were not initialized to zero length strings.
		          String memory now allocated at init to size MAXSTRINGSIZE & zero length.
				  Additional crash proofing for ID, IF, IG, IH, IL, IP, IQ, IS, IW,
				  GF, GL, GP, GQ, GS, PI, PD, PR, PS, XG, XP (search for "protect against crashes"
				  in the source code).
				  Substantial additions to regression testing.
				  Corrected spelling error in Umd Tsl Virtual support diagnostic  message.
		22/02/13  Updated the copyright date in About box info.
		25/02/13  Corrected AP command documentation and V3 ApplCore parameter testing of
			      parameters [<Offset%>] [<OnErrorOffset%>] both of which have always been optional.
		22/02/13  Updated the copyright date in About box info.
		26/02/13  Corrected ET command documentation and V3 ApplCore parameter testing of
			      parameters [<Offset1%>] and [<Offset1%>] both of which have always been optional.
				  Changed parameter evaluation of NC with string source parameter. Null is
				  allowed as the parameter parser produces a "0" conversion value.
		27/02/13  Corrected CD & CE commands such that all specified ID's are checked for
				  existance and a warning issued if missing in the series <min%> to <max%>.
				  Panel and control ID parameters are now reported in "Panel does not exist"
				  and "Control does not exist" messages.
		28/02/13  Added env. vars. for setting position, height & width of EDITOR window.
		01/03/13  Correction in TS command for errant warning msg, string <StrMemLoc%> and
				  integer <IntMemLoc%> memory parameter equal to 0 is OK (no longer emit
				  out of range error message).
		05/03/13  Jx Line Numbers are optional and Jx cmds with LineNumberVars with a value of
				  zero mean just continue (If line number is 0 then execution continues on same line).
		06/03/13  Changed missing parameter error message to be more appropriate:
				  "No Parameter found. Not string or numeric". Added line number to GetArguments() error msg.

3.08.17 28/03/13  Release build.


3.08.18 10/12/12  Corrections to TS command for corner cases of ",#,#,#" missing first number.
				  Tidy up of Audio functions.
		26/03/13  Changed MAXINTMEMORIES from 10K to 64K - bug 2361
		27/03/13  Corrected issues in GetArguments() regarding very large composite string
				  i.e. SC command: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.....0,0,0,0,
		29/03/13  Added start up messages indicating number of IN and STR memories, etc.
		01/04/13  Changed the regression test controls in ApplCore.ini to seperate enabled
				  (previously was a bitfield scheme).
		15/04/13  Added regression tests for Kx commands.
		16/04/13  Added regression tests for Hx commands.

3.08.19 23/04/13  Release build.
3.08.20 08/05/13  Release build. version numbers were mismatched.


3.08.21 08/05/13  Changed version scheme such that the string definition "__AC_VERSION__" is
                  only referenced in one place now, instead variable g_cVersionString is used.
		28/05/13  Changes supporting Xx cmds changes (bug 2381).
				  Changes to support addition of <Mask$> and <WorkstationNumber%> parameters
				  to the XC command and <WorkstationNumber%> parameter to the XS & XW commands.
				  Support for Xx command changes in regression tests.

3.08.21 24/06/13  Corrected MSFT build name to "V3ApplcoreMSVC.exe" in the RC files.
3.08.21 17/07/13  Removed the UpdateTallyTableOnly% parameter from the message sent in XC cmd.
3.08.21 17/07/13  3.08.21 is a test release sent to Steve Lowe for bug 2381.
                  Message "Parameter error NON-ASCII character present." changes from ERROR to WARNING.
3.08.21 24/07/13  Correction for error in GetArguments() related to Trace information. Bug originated
                  in the previous SC correction changes in 3.08.18. Enhancements to the regression
				  test to cover this issue. Bug 2430

3.08.22 24/07/13  Correction to "ACMciSup_Closedown: Enter (called by MainCloseDown)" message - added
                  applcore program name prefix. Added message to closedown in panel wm_command handler
				  and note:
				        Buttons must not use line #2 for the button target
				        line number (string table line). When AllowSystemMenuExit
				  		is SET in ApplCore.ini and the button target line number
				  		(string table line) is 2 -- ApplCore (acpanel.cpp) sends PostQuitMessage()
				  		to the ApplCore instance.  Note: the number 2 is the same
				  		as the Windows message "WM_DESTROY" which ApplCore assumes
				  		to be a WM_DESTROY message being sent to it
		15/08/13 Corrections for XC command issues. Changes to XS & XW cmds per Steve Lowe.



3.08.22 14/08/13 Release build
3.08.23 15/08/13 Test release build for Steve Lowe. <UpdateTallyTableOnly%> parameter omitted from msg BBC_CTRLCLIENTSTR parameters.
3.08.24 22/08/13 Test release build for Steve Lowe. <UpdateTallyTableOnly%> parameter determines msg sent. in XC
3.08.25 27/08/13 Test release build for Steve Lowe. <UpdateTallyTableOnly%> parameter determines msg sent. same foe XS & XW
3.08.25 04/09/13 Release build.


3.08.26 15/10/13 bugfix for bug 2475 NA missing third (results target) parameter not emitting msgs when parameter missing.
3.08.26 30/10/13 bugfix for error in debug msg parameter set "XS Sending message: " missing parameter so values is in error.
3.08.26 11/11/13 bugfix for bug 2484 XR problems with "ADD".
3.08.26 11/11/13 Release build.


        14/11/13 Correction for missing line number <Offset%> parameter testing in XN command. Additional
		         crash-proofing in XN cmd. Lots of regression test work in the Xx commands.
3.08.27 15/11/13 bugfix for bug 2491 ND cmd not detecting and reporting missing parameters.


3.08.27 06/12/13 Release build.

        13/12/13 Work to support VS2005 / VS2013. Correction in CF cmd noted in regression test. 
		         CF with a -1 ID was causing a memory over-write of g_pRevFifo! 
				 Corrected bug in Parameter Parser: another buffer overflow case.
        18/12/13 Correction of a number of Cx, Ex, Nx, Px & Qx commands crashers noted while 
				 expanding the regression tests.
		23/12/13 Added internals monitoring counts.
		03/01/14 Additional regression test range limits tests and checking in the code for: Bx, Dx, Ex, 
		         Fx, Gx, Ix, Mx, Nx, Px, Rx, Sx, Tx & Xx commands. Rx crashers included RM crashing 
				 (old) CSI using invalid range parameters.
		08/01/14 Correction for screwed up refactoring of the g_iInterceptDevId values fetched in 
			     ACParser_ClientStr() bug 2504.
3.08.28	09/01/14 Release build for 3.08.28


		18/02/14 Correction for error in correction bugfix done for bug 2484 (XR problems with "ADD").
3.08.29	18/02/14 Release build for 3.08.29
		04/02/14 changed MAX_JUMP_LINE_NUM definition from 32767 to EXECVARTEMPMEM (32768) 
		         because EV uses EXECVARTEMPMEM and there can be an Jx command on the 
				 EXECVARTEMPMEM line (so all Jx commands limits changed from 32767 to 32768).
				 Correction to KU error logic.

3.08.30	23/09/14 Release build for 3.08.30

        24/09/14 Correction of EH problem -- parameter filtering caused malfunction with EH 0 0 / EH 0 1.
		         EH with PanelID os 0 is legitimate case.
				 
3.08.31	24/09/14 Release build for 3.08.31
3.08.32 24/02/15 Correction for bug 2637. Uses V4 (environment vars) for location of config/system paths in preference to bncs_config.ini 
					because of the difficulty in accessing this file in the root of the file system on some
					Windows Server OSs
3.08.33	20/03/15 Now reads workstation number from CC_WORKSTATION (if present) otherwise the original csi.ini location
3.08.34	09/06/15 Correction for Bug 2692. XW fourth parameter is optional, parameter evaluation should not complain if parameter is missing.
3.08.35	09/07/15 Optionally registers for BBC_NETTXRXSTATUS messages according to whether theres a line in the stringtable (32400) and whether the setting in CSI is enabled or not
3.08.35	08/02/16 Adds CH and CV (control show/hide) commands (development version)
3.08.36	08/02/16 Adds CH and CV (control show/hide) commands (development version)
3.08.37	08/02/16 Adds CH and CV (control show/hide) commands (development version)
3.08.38	09/02/16 Adds CH and CV (control show/hide) commands (release version)
3.08.39	26/07/16 Bug 2798 Correction for issues in LB command (noted a odd problem in LF after a LB commend).
3.08.40	28/07/16 Bug 2798 Correction for issues in LE command (noted problem in LF after a LE commend - same issue as found in LB).
3.08.41	29/07/16 Bug 2798 Correction for issues in LE command, multiple to be deleted did not work correctly after changes for version 3.08.40.

***************************************************************************/
