**Clarion 11.13371 Feb 6, 2019** ------------------------------------------------------------------------ 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