Date: 07-01-2016 Subject: RELEASE 9.8B Runtime Files These release notes pertain to the following programs or files: PLBCLICON 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 6) PLBCLIENT 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 6) PLBCLINET 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 6) PLBCON 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 6) PLBCONET 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 6) PLBNET 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 6) PLBSERVE 9.8B 01 Ju1 2016 9,8,2,500 (Processed Server) PLBSERVET 9.8B 01 Ju1 2016 9,8,2,500 (Threaded Server) PLBWEBSRV 9.8B 01 Ju1 2016 9,8,2,500 (Processed Server) PLBWEBSRVT 9.8B 01 Ju1 2016 9,8,2,500 (Threaded Server) PLBWIN 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 6) PLBCLICON5 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 5) PLBCLIENT5 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 5) PLBCLINET5 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 5) PLBCONET5 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 5) PLBCON5 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 5) PLBNET5 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 5) PLBWIN5 9.8B 01 Ju1 2016 9,8,2,500 (ComCtl 5) PLBNETSUP.DLL 9.8B 01 Ju1 2016 9,8,2,500 Required for PLBNET PLBWSEC.DLL 9.8B 01 Ju1 2016 9,8,2,500 Req'd PLBWIN/PLBNET PLBCMP 9.8B 01 Jul 2016 DBGIFACE 9.8B 01 Jul 2016 PLBEQU.INC 9.8B 01 Jul 2016 PLBMETH.INC 9.8B 01 Jul 2016 PLBCLI.ZIP 9.8B 01 Jul 2016 9,8,2,600 (ComCtl 6) PLBRUN.ZIP 9.8B 01 Jul 2016 9,8,2,600 (ComCtl 6) EMBEDINI 9.8A 11 Mar 2016 9,8,1,500 EMBEDINI64 9.8A 11 Mar 2016 9,8,1,500 HEXDUMP 9.8A 11 Mar 2016 9,8,1,500 HEXDUMP64 9.8A 11 Mar 2016 9,8,1,500 MAKECLI 9.8A 11 Mar 2016 9,8,1,500 MAKECON 9.8A 11 Mar 2016 9,8,1,500 MAKECONET 9.8A 11 Mar 2016 9,8,1,500 MAKEDEF 9.8A 11 Mar 2016 9,8,1,500 MAKEMFD 9.8A 11 Mar 2016 9,8,1,500 MANAGECE 9.8A 11 Mar 2016 9,8,1,500 OBJMATCH 9.8A 11 Mar 2016 9,8,1,500 OBJMATCH64 9.8A 11 Mar 2016 9,8,1,500 ODBCINST64 9.8A 11 Mar 2016 9,8,1,500 PLBCGI 9.8A 11 Mar 2016 9,8,1,500 PLBDSIGN 9.8A 11 Mar 2016 9,8,1,500 SUNAAMDX 9.8A 11 Mar 2016 9,8,1,500 SUNAAMDX64 9.8A 11 Mar 2016 9,8,1,500 SETGUID 9.8A 11 Mar 2016 9,8,1,500 SUNINDEX 9.8A 11 Mar 2016 9,8,1,500 SUNINDEX64 9.8A 11 Mar 2016 9,8,1,500 SUNLS 9.8A 11 Mar 2016 9,8,1,500 SUNMOD 9.8A 11 Mar 2016 9,8,1,500 SUNMOD64 9.8A 11 Mar 2016 9,8,1,500 SUNSORT 9.8A 11 Mar 2016 9,8,1,500 SUNSORT64 9.8A 11 Mar 2016 9,8,1,500 WININST 9.8A 11 Mar 2016 9,8,1,500 ODSBAC32.DLL 9.8A 11 Mar 2016 ODSBAC64.DLL 9.8A 11 Mar 2016 SA_DLL32.DLL 9.8A 11 Mar 2016 9,8,1,500 SUNWADO.DLL 9.8A 11 Mar 2016 9,8,1,500 SUNWADO25.DLL 9.8A 11 Mar 2016 9,8,1,500 SUNWADO28.DLL 9.8A 11 Mar 2016 9,8,1,500 SUNWMSQL.DLL 9.8A 11 Mar 2016 9,8,1,500 SUNWODBC.DLL 9.8A 11 Mar 2016 9,8,1,500 SUNWSRV.DLL 9.8A 11 Mar 2016 9,8,1,500 PLBDBUG 9.8A 11 Mar 2016 ADMEQU.INC 9.8A 11 Mar 2016 *============================================================================== Notes for DOCUMENTATION: - In the PL/B Language Reference manual under the 'FILTER' instruction, change the instruction description and notes as follows: Change the instruction description: The FILTER instruction defines a filtering string that contains an expression of conditions used when any read operation is executed for a FILE, AFILE, or IFILE variable. The filtering expression is only used when the FILE, AFILE, or IFILE variable is opened or prepared using the VIEW keyword. The instruction uses the following formats: . Add the Note (20.) as follows: 20. For more information on PLB VIEW usage see the following: OPEN PREPARE SCHEMA IO using SQLite - In the PL/B Language Reference manual under the 'RESOURCE' property, change the Note (3.) first paragraph to read as follows: "The PL/B Web Server supports the RESOURCE property for the PICT and ICON objects (9.7C). In this case, the resources are limited to the '.jpg', '.ico', '.gif', and '.bmp' image types. When using this property, a CREATE of a PICT or ICON object with a RESOURCE property causes the image to be extracted from a '.pwf' and written as an image file into the PWS 'http_root\images' directory by default. The PWS keywords named 'PLBWEB_IMAGES={directory}' and 'PLBWEB_EXTRACT_IMAGES={on|off}' control the automatic image extraction by the PWS server." - In the PL/B Language Reference manual under the 'PICTURE' property, change the Note (9.) to read as follows: "9. The PICTURE property is supported for the PWS BUTTON object by the PL/B Web Server. The client browser downloads and renders the image into HTML button object. PLB developers can evaluate the 'plbwebbasic.css' class 'button img' which is used by default by the PWS runtime. In addition, the PLB developers can create custom CSS classes that can be specified using the WEBCLASS property to control rendering of the images by the client browser. The images for the PICTURE property can be specified as follows: a. The property can be specified as a resource number which must be a '.jpg', '.gif', or '.bmp' resource type. b. The property can be specified as a specific image file name where the image file must reside under in or under the PWS images directory identified by the 'PLBWEB_IMAGES={directory}' keyword. The default when this keyword is not used is the PWS 'http_root\images' directory. The image files are limited to the image types as determined by the client browsers. c. The property can be specified as a PICT object." - In the PL/B Language Reference manual under the 'ICON' property, change the Note (11.) to read as follows: "11. The ICON property is supported for the PWS BUTTON object by the PL/B Web Server. The client browser downloads and renders the image into HTML button object. PLB developers can evaluate the 'plbwebbasic.css' class 'button img' which is used by default by the PWS runtime. In addition, the PLB developers can create custom CSS classes that can be specified using the WEBCLASS property to control rendering of the images by the client browser. The images for the ICON property can be specified as follows: a. The property can be specified as a resource number which must be a '.ico' resource type. b. The property can be specified as a specific ico\image file name where the image file must reside in or under the PWS images directory identified by the 'PLBWEB_IMAGES={directory}' keyword. The default when this keyword is not used is the PWS 'http_root\images' directory. The support for the '.ico' image file type depends on the client browsers. c. The property can be specified as an ICON object." - In the PL/B Language Reference manual under the '*PUBLICKEY (SETMODE) section, add a note as follows: Note the following: 1. If the {value} Character Variable contains all blank characters or is a NULL DIM variable, the Data Manager public encryption key is restored to the default key value expected when there is NO user public encryption key being used. - In the PL/B Language Reference manual under the 'TOOLTIPHWND Property' section, change the Notes to read as follows: Note: 3. It should be noted that a unique tool tip window is created for each PLB PANEL\WINDOW object that has at least one PLB object using the TOOLTIP property. Therefore, when a PLB program uses the Windows OS 'SendMessage' API to change the OS tooltip behaviors and attributes, a change to a PLB object that is a child to a specific PANEL\WINDOW will affect all of the children objects attached to that and ONLY that specific PANEL\WINDOW object. The PLB program must perform a Windows OS 'SendMessage' API operation to one child object for every PANEL\WINDOW object requiring a behavioral\attribute change to its OS tool tip window. - In the PL/B Language Reference manual under the 'TYPE' instruction, change the Note (2.) table entries to read as follows: Data Type Sunbelt SWDBC Note DIM Literal 288 (0x120) 257 DIM type plus 0x100 (9.5A) The DIM Literal type value is ONLY generated when the VERB instruction is being used. FORM Literal 272(0x110) 258 FORM type plus 0x100 (9.5A) The FORM Literal type value is ONLY generated when the VERB instruction is being used. - In the PL/B Language Reference Manual under the 'OPEN (XFILE)' instruction, change the Note (1. and 2.) to read as follows: 1. The {name} is the physical XML file to be opened. If a character string variable is specified, only the Logical String is used. If a literal is specified, the entire literal string within the operating system's limitations is used. The physical XML file can not be opened using a Data Manager. 2. Naming conventions are the same as FILE except the XFILE does not support the Data Manager. - In the PL/B Language Reference Manual in the 'Contents' move the following instruction references as follows: Move these instruction references from 'Compiler Directives' to the 'System Interface Instructions'. GETPARM LOADPARM RESETPARM - In the PL/B Language Reference Manual in the 'EventRegister' section, add Note (23.) that reads as follows: Note: 23. Specialized events for the PL/B Web Server runtime can be registered where the {event} is a decimal number, a Numeric Variable, an Expression, or a keyword as defined in PLBEQU.INC. The supported values and keywords are: - Modified the PWS CLIENT object to support an orientation event which has an event number of '301' defined by the '$ClientEventOrient' in the 'plbequ.inc' equates. This event is used to identify when a mobile device orientation (i.e. Portrait or Landscape) has changed. Value Keyword Event Notes 301 $ClientEventOrient Orient PL/B Web Server ONLY! - In the PL/B Language Reference Manual, add a new 'Orient Event' section that reads as follows: Orient Event The Orient event is a PL/B Web Server event for the CLIENT object that occurs when the orientation (i.e. Portrait or Landscape) of a mobile device changes. Note: 1. The Orient event is referenced using an event value of 301. The equated label in PLBEQU.INC for this event is is $$ClientEventOrient. 2. The Orient event data is returned as a JSON string in the ARG1 where the data is a JSON string with the following parameters: width - The available width. height - The available height. orient - The new orientation specified as 'landscape' or 'portrait'. Example of ARG1 JSON data: "width": 100, "height": 200, "orient": "portrait" - In the PL/B Language Reference manual under the 'LoadXMLFile Method' section, change the Note (8.) description to read as follows: "8. This method is supported when using the PL/B Web Server with the LINUX/UNIX operating system." - In the PL/B Language Reference manual under the 'SaveXMLFile Method' section, change the Note (9.) description to read as follows: "9. This method is supported when using the PL/B Web Server with the LINUX/UNIX operating system." - In the PL/B Web Server reference manual under the 'PLBWEB_MAX_TASKS Keyword' section, change the {maxtasks} found in the second paragraph description to be {count}. *============================================================================== The following files have been changed as noted: ------------------------------------------------------------------------------- PLBWEBSRV (HTML\JS\CSS) - Modified to support 9.8B changes. plbwebbasic.css 9.8B plbwebbasic.js 9.8B plbwebctls.js 9.8A plbwebstart.html 9.8A plbwebidleterm.html 9.7C - The file named 'favicon.ico' has been provided and must reside in the PWS 'http_root' directory. Client browsers automatically try to download this icon which is placed on the browser tabs execute PWS PLB programs. Customers who have PWS servers can replace the 'favicon.ico' found in the PWS 'http_root' with a specific company icon as desired. - Modified the 'plbwebbasic.js' to support the new CLIENT 'Orient' event which can be generated when the orientation (i.e. Portrait or Landscape) changes on a mobile device. ------------------------------------------------------------------------------- PLBWEBSRV - The PWS runtime has been enhanced to support server side AUTOMATION events. This modification corrects an O105 error that would occur when executing the EVENTREG instruction for an AUTOMATION object using a PWS runtime. - Modified the PWS BUTTON object to support the PICTURE and ICON properties. The images for these properties can be specified in 1 of 3 ways as follows: a. The property can be specified as a resource number. b. The property can be specified as a specific image file name where the image file must reside under in or under the PWS images directory identified by the 'PLBWEB_IMAGES={directory}' keyword. The default when this keyword is not used is the PWS 'http_root\images' directory. c. The property can be specified as a PICT or ICON object as appropriate. - Modified to automatically create an empty 'plbwebuser.js' if this file does not exist in the PWS 'http_root' directory. This change avoids unexpected client browser behaviors when this file does not exist. This change DOES NOT affect a prior existing 'plbwebuser.js' file found in the PWS 'http_root' directory. - Modified the PWS CLIENT object to support an orientation event which has an event number of '301' defined by the '$ClientEventOrient' in the 'plbequ.inc' equates. This event is used to identify when a mobile device orientation (i.e. Portrait or Landscape) has changed. Value Keyword Event Notes 301 $ClientEventOrient Orient PL/B Web Server ONLY! - Corrected a problem where the advanced COPYFILE did not set the destination file date attributes properly when copying a file from the client browser to the PWS server. The failing symptom was that the creation, last modified, and access date were set to the January 1, 1970 epoch date for the destination file. ------------------------------------------------------------------------------- PLBSERVE, PLBWEBSRV - Modified the logging to give the TCP\IP address of a Data Manager when a socket error is encountered. ------------------------------------------------------------------------------- PLBWIN, PLBNET - Modified the 'ListViewColumnSort' function to check for possible DM keepalives to prevent unexpected I81 errors if a ListView 'SortColumn' method takes an excessively long time to execute. - Modified the PAUSE instruction to process the Windows OS message queue while waiting for a fractional time less than 1 second. Example: nWait FORM ".5" . PAUSE nWait //Process Windows OS message queue! ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, PLBWEBSRV (Windows) - Modified the Windows runtimes to detect additional OS errors for PLB enqueue locking operations. Enqueue locking operations are used implicitly for AFILE and IFILE IO operations when FILEPI is NOT used. This change is being made to avoid scenarios where unexpected Windows OS errors could cause the runtime to hang indefinitely. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, PLB(UNIX), PLBWEBSRV - Modified the 'SETMODE *PUBLICKEY=NULL' to restore the default Data Manager public encryption key values expected when there are NO user public encryption keys specified. This change corrects an unexpected I81 subcode 9 error that could occur after restoring the Data Manager default public encryption keys. - Corrected a problem where a XDATA variable used as a local variable in a FUNCTION or LFUNCTION would cause a GPF when a program terminated. ------------------------------------------------------------------------------- PLBWIN, PLBNET, ALL GUI CLIENTS - Added Windows error codes for an O153 subcode 102 error that can occur when the CREATE of an CONTROL or CONTAINER is performed. This change is being made to help identify the cause to the Windows OS error. - When using Windows OS versions 8 or higher, the GUI runtimes have been modified to prevent painting behaviors resulting in unexpected background colors. These unexpected behaviors would occur when multiple static objects (i.e. LINE, STATTEXT, GROUPBOX, and SHAPE) were created to overlap each other. - Corrected a problem where the 'InsertItem' instruction for a COMBOBOX object was causing unexpected flashing for all objects on the parent WINDOW which was using scaling. ------------------------------------------------------------------------------- PLBNET, PLBCLINET - Corrected a problem where a GETPROP of a .NET BUTTON Image was not returning an image string in a DIM variable. This problem was causing a PLB Designer COPY\PASTE problem when a .NET BUTTON had an IMAGE. ------------------------------------------------------------------------------- PLB(UNIX) - Corrected a problem in the FINDFILE instruction when the input source {filename} was specified with a relative path. In this case, the FINDFILE might not find the source file depending on the string length of the current working directory being used. Example of Error: Current working directory: "/opt/rsi/adm/data" FINDFILE "../../../ext4/fftest/test.txt" ------------------------------------------------------------------------------- PLBCMP - Modified the compiler to allow the ALTTEXT and URLSOURCE properties to be used by an end-user program. This change allows PLB user programs to change these properties in real time. - Modified the listing output to enclose an INCLUDE file name in double quote characters in the listing when the filename or path contains an embedded blank character. - Corrected a problem where the 'RECORD LIKEPTR' symbol table was causing unexpected compiler structure errors when compiling a 'MOVE RECORDLIKEPTR, RECORDLIKEPTR' operation. Example: aRec RECORD D1 DIM 1 RECORDEND . xRec RECORD LIKEPTR aRec yRec RECORD LIKEPTR aRec . MOVE xRec, yRec //Compiler error corrected in 9.8Ba! . - Corrected a problem where a FUNCTION RECORD parameter that included nested sub-records was causing unexpected parameter variables to be created. This problem could cause unexpected errors in the FUNCTION logic because the FUNCTION parameters were NOT being properly initialized by the input parameters from a CALL operation. - Corrected CALC syntax checking problems to properly give errors when using Unary ( + or - ) operators in an expression. Example of invalid CALC expressions using Unary operators: N FORM 3 . CALC N = N++ . CALC N = N+ + . CALC N = N-- . CALC N = N- - ------------------------------------------------------------------------------- DBGIFACE - Added a '-m' command line option to start the GUI Debugger as a minimized task when using the '-LISTEN' option. - Added support for the F9 (repeat last command) key. ------------------------------------------------------------------------------- PLB Designer - Modified to support the PICTURE and ICON properties for the PWS BUTTON object in PWF forms. ------------------------------------------------------------------------------- PLBEQU.INC - Modified to include the $CLientEventOrient equate for PWS CLIENT event. ------------------------------------------------------------------------------- PLBMETH.INC - Updated for Cordova App support. ------------------------------------------------------------------------------- DESIGNER.PLC - Corrected opening of second form when using the Limit to One Instance option. - Modified the defintions file to include the Picture and Icon properties for a Button on a PL/B web form. - Modified the add new resource function to not repeat the file selection dialog. - Modified to support the PICTURE and ICON properties for the PWS BUTTON object in PWF forms. ------------------------------------------------------------------------------- EDITOR.PLC - Added an editor option to disable code folding while still showing the structure lines. This option requires use of the updated SUNCS21.OCX file. ------------------------------------------------------------------------------- SUNIDE.PLC - Corrected parsing of file names with directories containing a space. - Now terminates if the -CFG option directory does not exist. - The IDE now creates the SCRATCH directory beneath the -CFG directory as required by some internal functions - Added quotes around the output file before executing the SORT verb to support working directories that contain spaces. ------------------------------------------------------------------------------- SUNCS21.OCX - Added an editor option to disable code folding while still showing the structure lines. ------------------------------------------------------------------------------- SCHEMAEDITOR.PLC - Corrected the SQLIO column export to include the nullable parameter value. - Ensure all exported SQL statements end with a semicolon. ------------------------------------------------------------------------------- DBGIFACE.PLC (Graphical Debugger) - Added a '-m' command line option to start the GUI Debugger as a minimized task when using the '-LISTEN' option. - Added support for the F9 (repeat last command) key. - Corrected a problem that caused unexpected error messages for an old Editor Control version to appear if there were font availability problems. -------------------------------------------------------------------------------