*/--- Clarion 10.12799 11/17/17 ----- Fixes/Changes/Features--/ FIX: REGRESSION: Sub Dialogs in the Template Actions were not displaying and were locking the IDE FIX: REGRESSION: Allow the Project System to handle pragma strings based on the Clarion version the project is built with FIX: Programs could lock up on some OS versions upon program termination if there were VIEW structures that had been defined, but never used. FIX: AppGen did not allow ? as a return type for a function FIX: A program might GPF on termination if it had a VIEW structure that referenced a non-SQL file and that VIEW structure was accessed in the destructor of a class and the access was done after the call to CLOSE(view) and there was a static instance of that class in the system. FIX: H5: Icons on buttons were not setting the correct size CHANGE: AppBrokerManager sets the default Local ip address to "localhost" if the value is empty */--- Clarion 10.12760 ---/ FEATURE: TopScan: Added option to Export to JSON, to left align numbers, and to quote numbers FEATURE: TopScan: Added the option to see the Owner field as plain text. When Owner is visible text Copy/Paste is available. (Password icon toggles ON/OFF) 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: IDE: Added new option to Attach the Clarion debugger to a running process: Main Menu->Debug->"Attach Clarion Debugger to Process"(it uses the Cladbne.exe) FEATURE: IDE: Editor: Added new context menu: Go To Matching Braces, Go To Folding Start and Go To Folding End FEATURE: ABC: WindowManager: new method OnCloseEventCancelled that is called when the user cancels the windows close using Message (if the record was changed) FEATURE: ABC: Relation Tree template: Allow to modify the text in the popup FEATURE: ABC: Browse Filtered Locator- new option to not disable the locator when the filter condition causes the browse to be emptied. FEATURE: AB Mail: Added embed for when the "SMTP Send Fail" FEATURE: Added example project to show how to use the SystemString inside a GROUP FEATURE: Added function 'OpenFileLink' to open a file using shellexecute (CWUTIL.INC) FEATURE: Clarion Chain: New embed for when the user cancels the Window close using the message (if the record was changed) FEATURE: ClaRunExt method ImageSaveThumbnailPix PROCEDURE(STRING fileNameIn, STRING fileNameOut, LONG pixelsWidth),LONG,PROC to set the size of the Thumbnail in pixels. FEATURE: ErrorClass new method to return a JSON string from the last error FEATURE: New Example: Using the SystemString class to minify html files FEATURE: JSON: Support for SystemString references inside a GROUP. FEATURE: JSON: AddArray method FEATURE: JSON: new helper functions in the JSON class: ErrorToJson, FileErrorToJson FEATURE: JSON: Support for SystemString references inside a GROUP. FEATURE: SystemString: method to TrimIncontext, find an string using regular expression IndexOfReg FEATURE: SystemString: Added Alias methods Get/Set string FEATURE: SystemString: Added Resize method that will resize the internal string without losing data (if bigger) FEATURE: SystemString: GetLeftOf GetRightOf FEATURE: SystemString: methods to do replace in segments AddReplaceInContentSegment and ReplaceInContentSegment add many segments to replace and then do all replacements at one time FEATURE: SystemString: method to TrimIncontext, find a string using regular expression IndexOfReg FEATURE: SystemString: GetLeftOf GetRightOf FEATURE: SystemString: methods to do replace in segments AddReplaceInContentSegment and ReplaceInContentSegment add many segments to replace and then do all replacements at one time FEATURE: SystemStringClass: Added methods to deal with Remove SubString FEATURE: SystemString: added methods to count number of tokens and words FEATURE: SystemString: Added UrlDecode and the ability to call UrlEncode and UrlDecode with local string as functions FEATURE: H5: Added (initial) EIP support to the ABC Browse List control. Web Procedure Extension - Controls - TheListControl - EIP NOTE: For H5 EIP to work the EIP must be disabled and use a Form for the EIP FEATURE: H5: Added new method to the WbWindowManagerClass (default WebWindowManager) GoHome() and CancelGoHome() to allow to close all the SDI windows and return to the frame FEATURE: H5: Added template option to add a condition to the linked global Javascript files and css files FEATURE: H5: Added (initial) EIP support to the ABC Browse List control. Web Procedure Extension - Controls - TheListControl - EIP NOTE: For H5 EIP to work the EIP must be disabled and use a Form for the EIP FEATURE: H5: Added new method to the WbWindowManagerClass (default WebWindowManager) GoHome() and CancelGoHome() to allow to close all the SDI windows and return to the frame FEATURE: H5: Added template option to add a condition to the linked global Javascript files and css files FEATURE: H5: Global Prompts to add code on every page for the Before Assets and Meta Tags FEATURE: H5: added option to override only the skeletons (or not) separated from the Window Skeleton options FEATURE: H5: Added template prompt to add literal JavaScript on the procedure FEATURE: H5: Added new method on the WbWindowManagerClass to open a file on the Client (similar to the report preview but supports any user files) FEATURE: H5: Added global template prompts (#TAB('JS and CSS Files')) to add global JS and CSS Files FEATURE: H5: Added support to the templates to create Upload field from the ENTRY and set the properties FEATURE: H5: Added new hiddenentry skeleton to create hidden input tags using an ENTRY control. To use it set the control's extra capabilities to hidden on the Web Procedure Extension for that control. FEATURE: H5: Added new secondary lookup button that is added at the beginning of the entry instead of the end FEATURE: H5: Added template prompt to select the file types accepted in the Upload field. NOTE: It supports a set of comma-separated strings, each of which is a valid MIME type, with no parameters. Ie:image/*,application/zip FEATURE: H5: Added new Global Prompts to add code to 'n Document Ready' and 'On Document Style', to add global Javascript and global styles from the templates FEATURE: H5: Added prompt to set the target zone for controls. NOTE: use target zone 'CollapseNavbar' to send controls to the menu bar. FEATURE: H5: AppBroker: support uploading files, the files are uploaded to the instance directory for each connection FEATURE: H5: Appbroker Service Manager: new option to change the Machine IP when the computer has more than one IP. Also it support localhost FEATURE: H5: Browse inline buttons option to make them visible only if the forwarded button is enable and visible FEATURE: H5: Browse option to enable disable the inline buttons base on a condition FEATURE: H5: Global option on the template to hide common named controls if they are found FEATURE: H5: Global option to set buttons on the None Collapsible Navbar FEATURE: H5: H5.JS: added new function to allow to reload the page with out sending the Form information to the server. icReload() FEATURE: H5: Updated "Upload File" skeleton (to use it, set the ENTRY control capability to 'upload') FEATURE: H5: Web Procedure setting to "Keep Scroll position on refresh" to refresh the page Ajax-like FEATURE: H5: added template support for using the browse columns width FEATURE: H5: added template prompt for the SetSubmitOnCancel property FEATURE: H5: Added minified JS and CSS library FEATURE: H5: Added new bootstrap.min skeletons that minifies the generated output and use the minified JS and CSS (to use it change on the global template the Skeleton to bootstrap.min) FEATURE: H5: Appbroker now verify the existence of the PUBLIc and Skeletons directories before allowing to register the broker. FEATURE: H5: AppBroker the text of the broker can be translated changing the text on the AppBrokerServiceMgr.INI file FEATURE: H5: Added new look to MESSAGE FEATURE: H5: Global setting to show or not the Window Title in the message or the message title GlobalFiles. Get/Set WindowTextOnMessage FEATURE: H5: added new method to be able to Unauthorize the login Authorization. WebWindowManager.Unauthorize() FEATURE: H5: added global prompt to set a common user defined LoginValidation procedure to validate the UserName and Password FEATURE: H5: Added forward button to Image click event to press a button when the image is clicked. FEATURE: H5: added user defined Javascript to execute on the Image Click. FIX: Restrict the event to defined controls FEATURE: H5: Added option to set a fix page size for the report to pdf from the Report it definition CHANGE: ABC: Added more information to the Generation Error "%FixClassName: Cannot find class" CHANGE: ABC Browse method ResetFromAsk is public now CHANGE: ABC Browse FilterLocatorClass: the SELF.FreeElement = SELF.Shadow is not executed any more after the UpdateWindow allowing to clear the filter that fails. CHANGE: ABC: Code PRocedure now support open/close of files used by extension templates CHANGE: Added documentation to the PROP:PrintMode EQUATE values 1-decoded (DIB) 2-undecoded (Original) 3-Both (inline comments) CHANGE: AppBroker.exe now uses LibreSSL instead of OpenSSL for SSL communications CHANGE: Email Support: Added Attachments prompt to the template. The prompt value could be a variable or the names of files separated by pipe | If it is a variable, the variable must contain the names of the files separated by pipe symbol CHANGE: H5: Upload now allows to disable the upload button (moved code to H5.js file) CHANGE: H5: Restrict the control displayed on the Forward click prompts to BUTTONs CHANGE: H5: change the drop list with on the template to accommodate longer text CHANGE: H5: if the window does not have a menu and one is not inherited from the frame the "hamburger" menu icon is not shown CHANGE: H5: Better action when clicking on the back button, not sending all the Form information CHANGE: H5: Better setting of the branding images location. CHANGE: H5: If the request data is bigger than the available memory close the socket to stop any further upload (web browsers do not respond untill the upload is finish or the socket is closed) CHANGE: H5: Speed up download process using adaptive buffer to read the information. CHANGE: H5: Stop trying to resolve the OLE control class. Stop showing the OLE controls in the list of controls CHANGE: H5: The menu bar is no longer partially created by the window skleleton, now created by the menubar skeleton CHANGE: H5: The window skeleton now creates the navbar with two regions, left and right and add the new NoneCollapseNavbar zone to the right side CHANGE: H5: Upload button added code to update the name of the selected file to be uploaded. support UploadMulti and UploadAccept properties to change the number of files and file types accepted CHANGE: H5: added property to create the cancel (back) button with or without submitting the whole form. If you set WebWindowProperty.SetSubmitOnCancel(false) it will not send the whole Form CHANGE: H5: can use global variables to set the Branding file names CHANGE: H5: return more error codes from the server CHANGE: H5: redistribution of the prompts in the procedure Web Extension 'Window' Tab to make them easy to find and override only if needed. CHANGE: H5: Added function to POST from a button instead of GET CHANGE: H5: adjust some template prompts UI for controls CHANGE: H5: Added option to move the button to the navbar on the control properties CHANGE: Increase the size of the drop list for the selection of a class on the ABC template dialog CHANGE: JSON: Internally now it uses the SystemString instead of a large string declared and then moves the internal cursor CHANGE: Moved some template functions from H5 wbprg.tpw to SVFnGrp.TPW CHANGE: SystemString: trimInContext now is a public function CHANGE: The Btrieve driver now reports error 47 instead of record not available when you attempt to fetch a record that is smaller than the record structure and there is a MEMO in the record structure CHANGE: WebRequest now returns the redirected Url if the response is "error Redirect" CHANGE: PDFOutput now the page size can be set on the Setup method to a fixed size page and will not be overridden by the PageSetup size CHANGE: ADO: Some equate values were not using the hexadecimal standard value CHANGE: H5: Added support to have hidden variables in a TEXT control to support bigger than 255 characters FIX: Possible GPF when destroying files FIX: Possible GPF when doing property access on a null key. Now returns file error. FIX: %THISDIR% redirection macro did not work when the compiler was looking for files FIX: ABC BloblToImage: When using Alternate image the PROP:Handle was assigned with the Alt image information FIX: ABC Relation Tree template could show symbol errors IF the tree control has update / expand buttons, AND the control is deleted and re-added FIX: ABC Source Template: Some embeds were not in generation order in the Embed Tree FIX: AppGen: Last Modified timestamp was sometimes being updated even when no obvious changes had been made to a procedure. This tended to happen after an app had been imported from text FIX: ClaRunExt: WebRequest: when the url ended in "/" the result url used was incorrect FIX: H5: Grid was not showing the navigation buttons FIX: H5: ABC: Report was not executing EndReport when no PDF was generated. FIX: H5: Custom JS was not generated for the buttons FIX: H5: PDF name can't be a variable. Now using the ! means the variable name FIX: H5: Appbroker: sometimes it could take longer to respond when the request is empty FIX: H5: Grid was using the wrong interface name MakeStringVal instead of MakeStringVal2 FIX: H5: If the entry has a lookup button and the Forward control is itself, do not hide the control even with the option to hide it. FIX: H5: If a report was not in WebMode the WebPDFreview was still used FIX: H5: POST operation with big very memos could lock the socket FIX: H5: Some times the report to PDF was not set FIX: H5: Table responsive attribute was not used FIX: H5: When the prompt has the option to hyperlink the text was misaligned. (by default the prompt's hyperlink open on the same target window), for other target windows use a string control FIX: H5: When the app closed it was using the URL .EXE. instead of the .WAP FIX: H5: When there is a _stopped.html file in the public directory the file was not used until the browser was refreshed. Resource files should not being cached FIX: H5: When PORT is blank the generated index file was not correct. Now it adds the PORT number the broker should be running on for the index page. FIX: H5: When string control is set as a hotstring it was using wrong template symbol to validate the hyperlink value and was not refreshing if the value was a variable. FIX: H5: xy positioning of the page could be null FIX: ImageToPng left the original file open so it could not be deleted FIX: JSON: Adding a subqueue to a JSON group could fail FIX: JSON: Inner Groups were adding an extra { FIX: Json class was not using the Exernal Name for the Queue References FIX: MySQL would return a Invalid Cursor State error when opening a table where there were at least two different TIME fields. FIX: NAME(file) did not return the name assigned via file{PROP:Name} FIX: ODBC driver could corrupt memory if you used the TURBOSQL switch, and had a DECIMAL field in the file structure, and the first SELECT statement issued against this field returned a DECIMAL with higher precision than defined in the Clarion field definition. Note: This is an extension to the fix in build 12286. FIX: Output Report to PDF - when using a variable CLIP trailing spaces from the password FIX: PDF Output: Adjust output to comply with pdf1.3 FIX: PIE could be drawn incorrectly for some values of the end angle FIX: PIE function could remain a string not popped from the string stack FIX: PTSS# 40152: SystemString class insert and remove bugs FIX: PTSS# 40155 SystemString class replaceInContent bug FIX: PTSS# 42228 HTTPWebRequest method doesn't send/use authorization header (PTSS# 42411) FIX: Possible memory corruption at compile time if the program defined too many pragmas FIX: Removed DllCanUnloadNow, DllGetClassObject, DllRegisterServer, DllUnregisterServer from WIN32.LIB FIX: SystemString Trim method was failing when optional parameters were used. FIX: SystemString appending 1 character FIX: SystemString: cursor mode, setting the initial buffer length will move the cursor FIX: SystemString: not omitted parameters could be empty FIX: SystemStringClass: Replacing a string for empty or spaces did not return the expected result FIX: The Btrieve driver did not work with files with spaces in the file name FIX: The ODBC driver could cause errors the first time you accessed a file when you used Firebird, and you had a TIME field in your record structure that was not part of a timestamp group structure FIX: WebRequest: accept a url that ends with "/" FIX: You could not upgrade a dictionary who's internal version was less than 13 (C9) FIX: Clarioncl would lockup if the /ax switch was used and the redirection file had *.* redirected to a directory other than the current directory. FIX: ADO TYPE_E_DLLFUNCTIONNOTFOUND value was incorrect FIX: ADO: SetNoSortOn was missing a comma on the virtual definition PTSS 41788: Template Window Select 1st control should Select(?OPTION) not ?RADIO1 PTSS 42228: HTTPWebRequest method doesn't send/use authorization header PTSS 42399: ODBC Driver CRASH on 2nd open PTSS 42407: Error in QuickXMLParser.clw ParseValue result when value is one character long PTSS 42427: ODBC driver returned error 07009 with some tables PTSS 42429: Clarion chain defined SaveFileErrorCode as LONG but it should be STRING PTSS 42432: There were files exported even when the DefaultExternal was 'None External' IF that value was changed before (mostly moving from a Data DLL to a DLL with the external files) PTSS 42436: Auto Number using Descending Key was broken in the Clarion chain templates PTSS 42447: The error "Symbol %DefaultBaseClassType was being returned empty, now it returns the procedure name