Clarion 11.13175 Sept 4, 2018


#1

Clarion 11.13175 Sept 4, 2018

Fixes/Changes/Features


CHANGE: Solution Explorer now uses a more modern tree with new icons and new look
CHANGE: Defaults.CLW: change the base default font from “Microsoft Sans Serif” to “Segoe UI”
CHANGE: Default the QBE List Height to 12
CHANGE: ABC: Reports and Process:added legacy embed points for doing record validation
CHANGE: Selecting an Icon for a control from the Property Pad shows the “select file …” option first, before the list of built-in icons
CHANGE: The Image selection dialog to select an Icon for a control (i.e. a button) shows a first option that includes both .PNG and .ICO together
CHANGE: The wallpaper selection dialog defaults to PNG instead of BMP
CHANGE: ClaRunExt: added group type to read the HTTPWebRequest json response when there is an error. Just declare a local group based on HttpWebRequestResponseError and use JSON.FromJson(response,yourGroup) to get the parsed error values
CHANGE: Source template: added ‘General’ Tab to the templates to allow derived templates to use the same base SHEET.
CHANGE: SystemString: new method to create a string reference that is auto disposed. Useful to create auxiliary references that are returned from a procedure
CHANGE: Json class: EscapeString method: now uses the SystemString class methods Escape and UnEscape
CHANGE: ClaRunExt: Now the checking for a valid SSL certificate can be forced using HttpVerb values (add 100 to the value when using HTTPS), use this option for testing when the SSL certificate is not able o be validated (as in testing on localhost for development)
CHANGE: ClaRunExt: Client connections support TLS10,11,12 (SSL3 is no longer supported)
CHANGE: H5: Added some new security settings to the AppBrokerManager (Log RejectedIPs, Use Strict Transport Security (HSTS) and Support Weak Ciphers)
CHANGE: Browse Grid Class: add support for File Loaded Browses without pagination. Using the method SetUseFileLoad(true). Default behavior is FALSE
CHANGE: Report Writer: TXD Report Converter now shows more concise error information (line and column of the TXR error) on invalid external function names
CHANGE: The communication template encoding now is set on the Local template instead of the global.
CHANGE: JSON Class: renamed the methods to set a field as a SystemString or a Queue, from AddSubQueue and AddSysStr to SetIsSubQueue and AddSysStr
CHANGE: SystemStringClass: Base64 functions have a new parameter to support the quoting “” of the internal string
CHANGE: MemDriver template: updated version to show the new change compatible with C10 and above
CHANGE: MemDriver template: use same MemFile code generation for ABC and Clarion
CHANGE: IDE: un-pinned Docked Tabs are shown in a different color when you hover over them with the mouse and its content get activated
CHANGE: H5: Disabled Toolbar Buttons now show as disabled on the Page instead of being hidden
CHANGE: Tools->Options uses the updated tree view UI
CHANGE: Solution Explorer uses the updated tree view UI


FEATURE: Implement wider Template Dialogs (~2x wider) in Template prompts
FEATURE: The Applications Pad displays the modified date/timestamp of all Apps in the Solution
FEATURE: Added “Filled” and “Source” buttons to the Procedure Properties tab
FEATURE: DCT Editor: implemented new ‘Validation Choices’ dialog to add/edit/visualize, pairs of data, instead of entering a string pair separated by a pipe char (|)
FEATURE: Added New template symbols: %ProjectOutputPath and %ProjectDebugBuild
FEATURE: AppGen now supports ? as a return type for a procedure/function
FEATURE: Template Selection Dialog: implemented ‘Contract All’ and ‘Expand All’ buttons
FEATURE: You can now add the -au switch to ClarionCl to get txa export and generate commands to automatically upgrade app and dct files to the current version. Without this switch ClarionCl will fail when trying to upgrade the app and you will have to manually press the OK button to upgrade .dct files.
FEATURE: Added new icons to the images folder to be used to show/hide password fields
FEATURE: %THISDIR% redirection macro did not work when the compiler was looking for files
FEATURE: The IDE shows the full path of the open Solution or Project in the Main window title. This is useful for when you 2 or more versions of the same App open in multiple IDE instances. Tools->Options->Appearance set the ‘Show full path on title’ on or off
FEATURE: Solution pad: implemented a new toolbar button; ‘Add existing project’
FEATURE: Dictionary Editor: When the DCT is open in Read-only the Tab text can display user defined text, the default text is “+” but it can be changed, for example "(ReadOnly)" Set the text from Tools->Options->Load entry field is “Read Only Files text”
FEATURE: ABC: added a new Embed; thiswindow.takeaccepted, it’s located to execute after all accepted events are processed
FEATURE: IconViewer: added the option to export the Icon to a PNG, or to an SVG file
FEATURE: Implemented a new function in CWUTIL to get the Mime Type based on the file extension GetMimeType(STRING fileExtension),STRING. It accepts the full file name with the extension, just the file name, or just the extension, with or without the “.”
FEATURE: TabOrderAssistant: implemented right-click context menu for quick access to the template ‘Actions’ and the selected items ‘Embeds’ (for the Window and controls)
FEATURE: The Solution Explorer right-click context Menu has a new option to ‘Generate all’ applications in the Solution, and another to ‘Generate’ the application from the selected Project
FEATURE: Solution Exporer: Added some new options for the selected APP file; ‘Open App’, ‘Open DCT’, ‘Generate App’ (available from the context menu and new toolbar buttons)
FEATURE: EE: New Project and Solution option to display a Message asking if you want to kill the running process (if the option to kill the process is set to ON)
FEATURE: New template Symbol %ProjectOutputPath and %ProjectDebugBuild
FEATURE: Added a button to insert the ABCDllMode and ABCLinkMode to the project in the Defines Dialog Editor
FEATURE: IDE ‘Attach to Debugger’: added ‘Process start time’ column and the ability to sort by clicking on the column headers
FEATURE: StringRefFactoryClass, to create and keep track of new string references that are auto disposed
FEATURE: SystemString Class: optimized methods Escape and UnEscape, and added new SetSubstring method
FEATURE: Added example on how to create QR Codes - C++ library
** add QRGENERATOR.DLL/LIB to install
FEATURE: JSON Class: new SetNamesCase method to set the all field names (that do not have an external name) to UPPER, or lower case
FEATURE: JSON Class: Added new methods to send the result directly to a file from a GROUP or a QUEUE. ToJSONFile(QUEUE/GROUP)
FEATURE: JSON Class: Added method to get the Clarion Structure Schema from the JSON string
FEATURE: JSON Class: Added methods to evaluate the JSON string from a slice of the string (start index and end index) for GROUPs and QUEUEs
FEATURE: Added support for UNICODE strings on the backend to ODBC, SQLAnywhere, PSQL, and MSSQL drivers. ’ using PROP:NAME’ UnicodeFile{PROP:Name, 2} = ‘strFld | UNICODE’ and ’ using Driver String’ driverString = driverString & ‘/UNICODE=TRUE’
FEATURE: Oracle driver: You can now turn off the generation of “NULLS FIRST” and “NULLS LAST” in the Oracle driver using PROP:NullsInKeys
FEATURE: IP Driver: Updated to use TLS1.2 as the secure layer instead of SSL3
FEATURE: IP Driver: the secure layer can process a full chain of SSL certificates
FEATURE: IP Driver: the secure layer uses only secure ciphers
FEATURE: H5: Allow to use Clarion code in the global extension templates using the ! at the beginning of the line. Global JS/Html/Styles. IF the line start with ! it will be interpreted as Clarion code allowing to write Global Javascript/Html/Css with Clarion conditions.
FEATURE: AppBroker: The EE Version supports 5 instances of the server, custom ciphers, HealthTest and auto-restart when the instance fail to pass the Health Check. Support to install/uninstall/start/stop/etc. each individual instance and show the status of each individual instance. NOTE: The PE version does not support custom ciphers and only support one AppBroker service instance.
FEATURE: H5: Added support for specifying a background image to the ‘branding’ to set the web app background in one place for all procedures
FEATURE: H5: AppBroker: Added support for User Defined Ciphers List (When ‘Custom’ is selected in the AppBroker Manager settings)
FEATURE: H5: AppBroker added support for HSTS - HTTP Strict Transport Security (only applicable when using HTTPS)
FEATURE: H5: AppBroker: Added option to log the IP numbers for connections that were rejected (usually because the handshake fails (old clients or old security settings in the clients))
FEATURE: H5: AppBroker: New options: UseLogfileBadIP(default = true), LogFileBadIP(default=RejectedIPs.LOG created in the AppBroker directory), and SupportWeakCipher(default = false). NOTE: When the SupportWeakCipher = false the following ciphers are supported, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
FEATURE: H5: Option to add local assets links for each procedure
FEATURE: H5: Added Web ID text to show the ID on multiple places where it could be needed.
FEATURE: H5: Allow to manage the controls on the client side for Hide/Unhide Enable/Disable. When the setting “Support Client Side Controls Manipulation?” is on, the client side will not refresh to enable,disable,hide,unhide controls
FEATURE: JSON Class: added support to allow a JSON object to contain a BLOB and a physical file contents
FEATURE: SystemStringClass: Added new function to return the internal reference of the string. The internal reference is handled by the SysString
FEATURE: SystemStringClass: Added new function to externalize the internal reference of the string. The dispose of the reference needs to be handled by the developer
FEATURE: AppGen: added new template symbols %ControlLink that return the controls #LINK value
FEATURE: WINDOW Structure parser: Added support for two new control properties, #RESIZE(LONG) and #META(STRING), these properties can be added to the controls but are just used on the AppGen window structure and make no sense on the runtime WINDOW control, similar to #LINK or #FIELDS, etc, any property with # is only used at design time with AppGen.


FIX: Quick Access checkbox was not properly displayed in the Template Prompts dialog
FIX: The ODBC based drivers would sometimes not reenable auto-commit after a COMMIT (if there were multiple connections open to the same database)
FIX: The ODBC driver sometimes set the size from calls to PROP:AppendBuffer to a number larger than the passed value
FIX: ABC ErrorClass: ErrorToJson was not escaping the message value
FIX: ABC RELTREE: was duplicating the symbol declaration.
FIX: Anchor Resize was not setting the width to fixed when a control was not resized
FIX: Application Pad: an exception could be thrown on a search for a non-existing substring
FIX: Browse Grid Template for H5 was not copying the List settings into the Grid group control to be used by the skeleton (like navigation on/off)
FIX: ClaRunExt: When sending emails, if the user does not have rights to show an error message it was throwing an exception.
FIX: Clarion Chain Resize could try to use an incorrect control as an Anchor
FIX: Creating an app from txa would not set the destination file correctly unless it was the same as the app name
FIX: Creating an app from txa would not set the destination file correctly unless it was the same as the app name
FIX: Editor: sometimes the search result did select an already opened file, and instead opened a second instance
FIX: H5: WEB Report extension was not accepting the use of a variable for the PDF name
FIX: H5: Global assets were not being added locally
FIX: JSON from Group was missing the first open bracket
FIX: JSON Class was not escaping the Tab character (CHR(9)) when the tab was inside a string field
FIX: MemDriver template: If the option to ‘Generate Files in Modules’ was used in the DataDll the EXTERNAL(’’) attribute was not added to the MEM FILE declared in the main module.
FIX: Options Panels: When a folder was selected the Folder Selecion Dialog was not starting on the fields previous value
FIX: QuickWinTranslator was not storing the single line TEXT control TEXT property.
FIX: Report Writer: TXD Report Converter was not supporting a MEMO’s NAME attribute
FIX: Report Writer: TXD Report Converter was incorrectly processing nested GROUPs in FILEs declarations
FIX: Report Writer: TXD Report Converter was incorrectly reading VIEW structures
FIX: Sometimes drag&drop from the Data and Tables Pad would show the drop cursor and allow the drop of data on an invalid area
FIX: Source Procedure: the Relate Open files was not executed with the parameter set to TRUE, so was not correctly opening the related files
FIX: The Procedure’s parameters list could be lost on reading TXA files produced by old versions of Clarion
FIX: The HTTPWebRequest function was not returning a valid redirectUrl when the response was any form of a redirect
FIX: The IDE would throw an exception if a template included a lib file to link, and there was no matching cwproj file
FIX: Using the communication template with “Central European (Windows)” encoding was not setting the correct encoding (windows-1250)
FIX: Window Designer: Dragging the mouse for selection of controls above a Tab was not working for controls that were were placed on the Window itself but postioned on top of the Tab
FIX: FileDropClass will not sync when more than 1 field are assigned NOTE: If the developer wants to keep in sync more than the first field the SELF.InitSyncPair must be set to the number of fields to keep in sync
FIX: JSON: DIMed items inside a GROUP were not assigned correctly based on the item type
FIX: The AppGen global embeds were showing a duplicate separator in the toolbar
FIX: Quick Access checkbox was not properly displayed in the Template Prompts dialog