Clarion 11.11.13371 Feb 6, 2019


#1

FEATURE:  You can now trap calls to the transaction handling functions LOGOUT, COMMIT, and ROLLBACK without having to attach a file callback to every file.  
To do this you use SYSTEM{PROP:TransactionHook}.  You set this property to the address of a function that has the prototype: 

FUNCTION(SIGNED opCode, LONG state, *FILE file, *LONG stop, *CSTRING FileErrCode, *CSTRING FielErrMsg),LONG

This function will be called at least 3 times for each operation.  Once at the start of the operation (in this case state = TRANSTATE:STARTING), 
once for each file in the transaction (in this case state = TRANSTATE:HAVEFILE), and once at the end of the operation (in this case state = TRANSTATE:ENDING)

opCode can be set to DriverOp:LOGOUT, DriverOp:COMMIT, or DriverOp:ROLLBACK

the file parameter will be assigned to one of the files in the transaction if state = TRANSTATE:HAVEFILE.

Setting stop to TRUE will cause the RTL to stop execution of normal transaction handling code after this function exits

Setting FileErrorCode and FileError will set FILEERRORCODE() and FILEERROR() respectively

The return value is the ERROR() that the operation should set.  This function must return 0 if no error is to be reported.


FEATURE: You can now place the LibAlwaysCopyList.xml, LibIgnoreList.xml, and LibCopyList.xml in the directory where a project is.  
If these files exist, the IDE will use these instead of the default ones located in the user data folder.


FEATURE: Adding a .dct.BinaryImport file into a directory will turn on automatic import/export for dct files.  Similarly the existence 
of a .app.BinaryImport file will turn on import/export of app files.  This file can be empty or contain multiple lines with each line 
being a file pattern to match files.  If the file is empty, then all dct/app files will be imported/exported.  Otherwise only files that 
match at least one of the file patterns will be imported/exported.

FEATURE: ABC/Clarion: Frame Extension option to set Window as the TopMost Window
FEATURE: Added some printing OPTIONs to the DCT Editor
FEATURE: Appgen LIST/TREE (Procedure Tree, Embeds Tree, etc.) controls now use the IDE Settings colors for the selected Theme
FEATURE: Application Editor support printing a list of Procedures
FEATURE: Control Template Pad now has a Locator to search the templates
FEATURE: Designers: When selecting different control the property grid will keep the selected property selected if it exists in the newly selected control
FEATURE: Dialog to attach Clarion Debugger to a Process now has the option to filter programs with a window, so any OS process will be filtered out by default

FEATURE: H5: New method GetInstanceId to get the string that represents the instance and is used for the instance directory
FEATURE: H5: new Broker method to extra processing for the http header in a global embed TakeHttpHeader
FEATURE: H5: validate the controls to be generated in the in the Navbar to be a child of the window, and not another container
FEATURE: IDE can print procedure tree of the app.
FEATURE: JSON Class: new methods to show the schema from a disk file directly passing the file name
FEATURE: JSON: AddString supports the SystemStringClass 
NOTE: When using a column of SystemStirng the quotes must be added, or it will be interpreted as a serialized object (like a literal) this 
can be used to add serialized JSON strings to the JSON object

FEATURE: List and Trees colors in the IDE can be customized with the Color Schema from Tools Appearance.
FEATURE: New option to Show and Pin the error pad if errors are added and the pad was hidden. (Tools-Options-Project and solutions)
FEATURE: Tab Order Assistant: added Expand All and Contract All buttons
FEATURE: TopScan: Export has a new option to remove the prefix from the columns heading
FEATURE: TopScan: Format Column now has a Picture Dialog to easily change the column picture
FEATURE: Grid control: new method SyncChildren, it can be derived to customize the controls in the Grid Group for each Row of the Browse

CHANGE: Apptree popup menu text change from "Module" to  "Module Source File"
CHANGE: Apptree popup menu text change from "Source" to  "Embeditor Source"
CHANGE: Grid Control no longer requires a "Page Loaded" Browse
CHANGE: #PROMPT PROP:Drop default value is now 10 (prior default was 5)
CHANGE: ABC/Clarion chain: Additional Sort Assisted Order now includes the option to "Force NoCase (Case Insensitive)" for the sort order, 
supported in Browse, Vcr form, Report process

CHANGE: Added Application Procedures and Called Procedures to the Expression editor
CHANGE: Appgen Zoom now shows the IDE icon and is wider and taller
CHANGE: Control Template Pad improved speed
CHANGE: Default Manifest added by the MANIFEST keyword in the EXP file now default to "asInvoker" instead of "highestAvailable"
CHANGE: Driver Trace: changed the text "Write to Debug Log" to "Output to DebugView", disabled the log file when output is set to DebugView
CHANGE: On Template dialogs now the Accept button is the default button on the dialog window and responds to the Enter Key
CHANGE: Open File using Redirection file dialog, now if the name is a wildcard i will open the FileDialog with that name as the default name filtering the result
CHANGE: PTSS 42763: Global Data Types that are TYPEd are not exported any more from the data DLLs
CHANGE: SQLExecutor changed to use the SystemString class
CHANGE: SV NGINX Manager: Now only NGINX configuration is allowed and needed, if the configuration record is not found it is added. Simplified the UI.
CHANGE: Source procedure, Open/Close tables routines now only add to the Related tables the ones that have any constraints for delete or update, 
the OtherTables now use Access (if not opened before)

CHANGE: SystemString class: added new method to determine when the internal string was externalized
CHANGE: The Search and Replace dialog now uses the Text Editor proportional font in the Search and Replace Fields, 
but retains the same size font as the whole dialog.

CHANGE: TopScan: default Record Number column Header Text is RecNo instead of Rec No  (the space was removed)
CHANGE: When you double click an error in the error pad the IDE now verifies that the file exists before trying to open it
CHANGE: Windows Manifest Generated by the templates now default to requestedExecutionLevel level="asInvoker" and uiAccess="false" 
CHANGE: equates.clw: Added some new color equates to support more system colors
CHANGE: Some generated code was not using () on call to Procedures

FIX: You could get an invalid bind error if you used PROP:SQL multiple times to execute SELECT statements that returned variable number of result columns
FIX: If a duplicate field was in the list of fields in a procedure, an incorrect internal error was displayed on screen.  Now the error is reported like 
any other txa errors

FIX: TXA Import would fail if the size of the txa file was exactly the size of a page of memory
FIX: When exporting to text using Clarioncl, if the redirection file redirected the text file to a different location and there was another 
copy of the text file in a different location that could be found via redirection, then the other text file was overwritten rather than the 
file being created in the correct location

FIX: #PROMPT PROP:Drop was not applied if defined
FIX: %ProcedureParameters was returning the wrong index values
FIX: Auto Import did not work from ClarionCl if there was a local redirection file that indicated that the text file was located in a 
different location than that of the default redirection file

FIX: Control Templates Pad was not resizing properly
FIX: DCT options: Column Options default settings was not totally visible
FIX: Exception could happen if on DCT Options for columns the MEMO defaults were selected.
FIX: Importing of text would fail if a dct had changed and multiple copies of Clarioncl were running simultaneously attempting to load 
different apps that used the same dct

FIX: JSON Demo using SysString: JSONClass method AddSysStr was renamed to SetIsSysStr
FIX: PTSS 42765: Regresion: HTTPWebRequest was not sending the correct headers when using the WebRequestExt method.
FIX: PTSS 42610: Template aggravation using BUTTON,MULTI,INLINE 
FIX: PTSS 42745: TopScan - SearchReplace and Mass Update not working with digits 	
FIX: PTSS 42765: POST,PUT its ignore the Content-Type and the HEADERS parameters
FIX: PTSS 42767: HTTPWebRequest When have error the response came with JSON invalid format 
FIX: PTSS 42782: GPF when trying to open Clarion  

FIX: PTSS 42767: HTTPWebRequest When the response is an error in JSON format the create JSON for the error become invalid containing 
the JSON into the string, now the JSON contained in the string is escaped. 
NOTE: You can use the JSON.UnEscapeString function to get a JSON and parse it from that string

FIX: PTSS 42782: Stop the IDE from crashing if the user remove some required folders in the IDE directory.
FIX: PTSS 42788: IDE Unhandled exception 
FIX: Select New Dictionary Dialog: Pick file button was not open the Select File Dialog
FIX: Selecting multiple buttons and try to change the icon could throw an exception in the Designer
FIX: Stop generator loosing the application icon after you import the application from text.
FIX: Stop messages being displayed when errors occur when running ClarionCl
FIX: Template Controls of type LIST were not selecting the row if the control was not selected first
FIX: TopScan - SearchReplace was not working with digits columns if the column had a picture
FIX: TopScan: Export to JSON was not using the correct delimiter
FIX: When multiple instances of Clarioncl were run simultaneously, one would occasionally fail to start reporting that the installation was not valid
FIX: double clicking on a template generated error or message when there are no physical file was generating a popup message saying that the file didn't exist
FIX:JSON: Assert on adding AddGroup