Date: 06-16-2017 Subject: RELEASE 9.9B Runtime Files These release notes pertain to the following programs or files: PLBCLICON 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 6) PLBCLIENT 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 6) PLBCLINET 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 6) PLBCON 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 6) PLBCONET 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 6) PLBNET 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 6) PLBSERVE 9.9Bb 16 Jun 2017 9,9,2,102 (Processed Server) PLBSERVET 9.9Bb 16 Jun 2017 9,9,2,102 (Threaded Server) PLBWEBSRV 9.9Bb 16 Jun 2017 9,9,2,102 (Processed Server) PLBWEBSRVT 9.9Bb 16 Jun 2017 9,9,2,102 (Threaded Server) PLBWIN 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 6) PLBCLICON5 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 5) PLBCLIENT5 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 5) PLBCLINET5 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 5) PLBCON5 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 5) PLBCONET5 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 5) PLBNET5 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 5) PLBWIN5 9.9Bb 16 Jun 2017 9,9,2,102 (ComCtl 5) PLBNETSUP.DLL 9.9Bb 16 Jun 2017 9,9,2,102 Required for PLBNET PLBWSEC.DLL 9.9Bb 16 Jun 2017 9,9,2,102 Req'd PLBWIN/PLBNET ........ PLBCMP 9.9Ba 19 May 2017 ........ EMBEDINI 9.9A 21 Apr 2017 9,9,1,500 EMBEDINI64 9.9A 21 Apr 2017 9,9,1,500 HEXDUMP 9.9A 21 Apr 2017 9,9,1,500 HEXDUMP64 9.9A 21 Apr 2017 9,9,1,500 MAKECLI 9.9A 21 Apr 2017 9,9,1,500 MAKECON 9.9A 21 Apr 2017 9,9,1,500 MAKECONET 9.9A 21 Apr 2017 9,9,1,500 MAKEDEF 9.9A 21 Apr 2017 9,9,1,500 MAKEMFD 9.9A 21 Apr 2017 9,9,1,500 MANAGECE 9.9A 21 Apr 2017 9,9,1,500 OBJMATCH 9.9A 21 Apr 2017 9,9,1,500 OBJMATCH64 9.9A 21 Apr 2017 9,9,1,500 ODBCINST64 9.9A 21 Apr 2017 9,9,1,500 PLBCGI 9.9A 21 Apr 2017 9,9,1,500 PLBDSIGN 9.9A 21 Apr 2017 9,9,1,500 SUNAAMDX 9.9A 21 Apr 2017 9,9,1,500 SUNAAMDX64 9.9A 21 Apr 2017 9,9,1,500 SETGUID 9.9A 21 Apr 2017 9,9,1,500 SUNINDEX 9.9A 21 Apr 2017 9,9,1,500 SUNINDEX64 9.9A 21 Apr 2017 9,9,1,500 SUNLS 9.9A 21 Apr 2017 9,9,1,500 SUNMOD 9.9A 21 Apr 2017 9,9,1,500 SUNMOD64 9.9A 21 Apr 2017 9,9,1,500 SUNSORT 9.9A 21 Apr 2017 9,9,1,500 SUNSORT64 9.9A 21 Apr 2017 9,9,1,500 WININST 9.9A 21 Apr 2017 9,9,1,500 ODSBAC32.DLL 9.9A 21 Apr 2017 ODSBAC64.DLL 9.9A 21 Apr 2017 SA_DLL32.DLL 9.9A 21 Apr 2017 9,9,1,500 SUNWADO.DLL 9.9A 21 Apr 2017 9,9,1,500 SUNWADO25.DLL 9.9A 21 Apr 2017 9,9,1,500 SUNWADO28.DLL 9.9A 21 Apr 2017 9,9,1,500 SUNWMSQL.DLL 9.9A 21 Apr 2017 9,9,1,500 SUNWODBC.DLL 9.9A 21 Apr 2017 9,9,1,500 SUNWSRV.DLL 9.9A 21 Apr 2017 9,9,1,500 DBGIFACE 9.9A 21 Apr 2017 PLBDBUG 9.9A 21 Apr 2017 ........ ADMEQU.INC 9.9A 21 Apr 2017 PLBEQU.INC 9.9A 21 Apr 2017 PLBMETH.INC 9.9A 21 Apr 2017 PLBCLI.ZIP 9.9A 21 Apr 2017 9,9,1,600 (ComCtl 6) PLBRUN.ZIP 9.9A 21 Apr 2017 9,9,1,600 (ComCtl 6) *============================================================================== Notes for DOCUMENTATION: - In the PL/B Language Reference manual under the 'PDF PRTOPEN Notes' 99Ba section, add the following description for a new *FLAGS bit mask value: PDF__FLAGS_NO_JPEG_COMP EQU 1024 (0x0400) When this bit is turned on, the Sunbelt 'pdf:' output does not generate compressed 'jpeg' images when outputing a PICT object to the PDF file. Turning this bit on causes the PCT object image to be output using BMP image data. - In the PL/B Language Reference manual under the 'InnerHtml Method (PANEL) 99Ba section, make the following changes: 1. Remove the 'PLB Web Only). 2. Modify the Note (4.) to include a new value 0x2 to support a 'url' reference. Value Meaning... 0x2 This bit value allows the {htmlpage} string to be specified as a valid 'url' reference. This bit value can be used in the Plbwin, Plbnet, Plbserve, and Plbwebsrv runtimes. 3. Add the new Note (9.) described as follows: 9. In addition to the PL/B Web Server, this method is available for all Windows PL/B runtimes to allow Html to be rendered into a normal PANEL object window. This method is implemented using the Windows OS 'IWebBrowser2' interface for the Windows PL/B runtimes. - In the PL/B Web Server reference, change the 'PLBWEB_APP_SUPPORT Keyword' 99Ba section as follows: From: PLBWEB_APP_SUPPOER={on|off} To: PLBWEB_APP_SUPPORT={on|off} - In the PL/B Web Server reference, add the 'PLBWEB_USE_UI99A' keyword to 99Ba 'Server Configuration Keywords' section as follows: PLBWEB_USE_UI99A={on|off} By default this keyword is 'off' for the PL/B Web Server. This keyword can be set to 'on' to cause the PL/B Web Server runtime to load 'http_root\plbwebstart99A.html' to the client browser which invokes the use of the 'jquery-ui' support used by the PWS 9.9A and earlier runtime versions. Example: PLBWEB_USE_UI99A=on - In the PL/B Web Server reference manual in the 'Considerations' section, 99Ba remove the 'SETWTITLE' from the Note (1.). - In the PL/B Language Reference manual, in the 'SETWTITLE' instruction, 99Ba change the Note (4.) to read as follows: "4. When using the PL/B Web Server, the 'SETWTITLE' instruction sets the client browser title for the viewport tab where the PLB program is being executed." - In the PL/B Language Reference manual under the 'EXECUTE' instruction, 99Bb add a Note (21.) as follows: "21. When using the EXECUTE instruction in a PLBCLIENT/PLBSERVE application, this instruction does not execute at the client and does not show any command shell windows at the client. In this case, the EXECUTE instruction is only executed on the Application Server side." - In the PL/B Language Reference manual under the 'BATCH' instruction, 99Bb add a Note (10.) as follows: "21. When using the BATCH instruction in a PLBCLIENT/PLBSERVE application, this instruction does not execute at the client and does not show any command shell windows at the client. In this case, the BATCH instruction is only executed on the Application Server side." - In the PL/B Language Reference manual under the 'FindItem Method (LISTVIEW)', change the Note (1.) to read as follows: "The search is done using only the first column and must match the beginning of the string or the string exactly. The search is case insensitive." - In the PL/B Language Reference manual under the 'PICT' section, modify 99Bb the Notes as follows: Modify Note (3.) to read as follows: "3. Seven different image formats are supported including BMP, PCX, DCX, JPEG, GIF, TIFF and PNG. For JPEG files, only the JFIF format is supported." Add a new Note (9.) that reads as follows: "9. The PNG image is the only image that supports 'Transparent' colors. The PNG transparent color support is implemented as follows: a. When the PNG color types include a default background color type, this image default background color is used to replace image full transparent pixels encountered as the image is converted into a PICT DIB image. b. When the PNG color types include a default background color type, the PICT 'BACKSTYLE=$TRANSPARENT' property can be used to force the PICT BGCOLOR background color to be used to replace image full transparent pixels encountered as the image is converted into a PICT DIB image. The PICT 'BACKSTYLE=$TRANSPARENT' property is ONLY used for PNG images and it is ignored for ALL other image formats. c. When the PNG color types DO NOT include a default background color type, the PICT BGColor property value is used to replace the PNG image full transparent pixels that are encountered as the image is converted into a PICT DIB image. d. PNG 'partial transparent' composite image merging is NOT supported. - In the PL/B Language Reference manual, add a Note (4.) to the 99Bb 'BACKSTYLE Property' section that reads as follows: "4. When a PICT object is used in a program executed with a Windows OS runtime (i.e. PLBWIN, PLBNET, or PLBCLIENT), the BACKSTYLE property ONLY takes affect when a CREATE operation for the PICT object using a PNG image is executed. See the PICT object notes for more details for PNG images." *============================================================================== The following files have been changed as noted: ------------------------------------------------------------------------------- PLBWEBSRV (HTML\JS\CSS) - Modified to support 9.9A changes. plbwebbasic.css 9.9Ac 170228 plbwebbasic.js 9.9Ba 170515 plbwebctls.js 9.9Ac 170302 plbwebmob.js 9.9Ab 170301 Support jQuery Mobile plbwebtvcssinfo.html 9.9 161028 plbmobstart.html 9.9B 170428 Support jQuery Mobile plbwebstart.html 9.9B 170428 plbwebstart99A.html 9.9A 170428 - Modified the PWS server to use the new version of the 'jquery' and 99Ba 'jquery-ui' support functions. New jquery file versions used by 9.9B PWS are: jquery 3.2.1 jquery-ui 1.12.1 The 'http_root' files have been changed to incude the following: http_root/css 'ui112' sub-directory http_root/js 'ui112' sub-directory jquery-1.12.4.min.js jquery-3.2.1.min.js - When the 'PLBWEB_USE_UI99A=on' keyword is used in the 'plbwebsrv.ini' 99Ba configuration file, the PWS runtime renders the 'http_root\plbwebstart99a.html' to the client browser during the client logon process. This causes the 'jquery' version use by 9.9A and earlier PWS versions to be used. ------------------------------------------------------------------------------- PLBWEBSRV - Modified the SETWTITLE instruction to cause the client browser tab 99Ba title to be changed under program control. - Modified the PWS DATALIST, LISTVIEW, and TREEVIEW sorted output to be 99Ba consistent with the Windows OS controls. Note: When using a PWS DATALIST, this sort change only applies to the virtual PWS DATALIST object which is the default. If the 'PLBWEB_VDATALIST=off' keyword is used, all sorting behaviors are controlled by the client browser(s) for the HTML SELECT objects. - Added a new keyword named 'PLBWEB_USE_UI99A={on|off}'. When this 99Ba keyword is not used, the default is the same as 'off'. When this keyword is set to be 'on', the PL/B Web Server runtime loads 'http_root\plbwebstart99A.html' to the client browser whick invokes the use of the 'jquery-ui' support used by the PWS 9.9A and earlier runtime versions. - Added a new keyword named 'PLBWEB_VDATALIST_SORT={0|1}' that can be used 99Bb to force the SORTED property of a PWS DATALIST to enforce specialize Windows OS sorting linguistic rules. Please note the following: 1. The PLBWEB_VDATALIST_SORT keyword is NOT used if the keyword 'PLBWEB_VDATALIST=OFF' is being used. In addition, the PLBWEB_VDATALIST_SORT keyword is NOT used when the PWS server is executed on a Linux\Unix OS system. 2. By default ( i.e. PLBWEB_VDATALIST_SORT=0 ), the virtual PWS DATALIST applies case insensitive binary sorting of all characters when the SORTED property is turned on. Sorting in this manner gives consistent results for all PWS server platform types being used. 3. When the 'PLBWEB_VDATALIST_SORT=1' keyword setting is used, the virtual PWS DATALIST applies specialized Windows OS linguistic sorting rules when the SORTED property is turned on. This means that sorted PWS DATALIST items depend on the specific language rules used by the Windows OS where the PWS server is executing. - Modified the PWS LISTVIEW 'FindItem' to be consistent with the Windows 99Bb OS LISTVIEW behavior where the searching is performed in a case insensitive manner. - Corrected a bug where the ZORDER property was being used to set the PWS 99Ba WINDOW zorder being rendered to the HTML
. This could cause unexpected presentation behaviors. See the PL/B Language Reference manual in the 'ZORDER Property' section note (8.). - Corrected an O105 error that could occur under the following scenario: 99Ba 1. A DESTROY of a PLF form is being executed. 2. One or more objects on the PLF form is using the 'Lost Focus' event. 3. The 'Lost Focus' event logic is executing a PLB instruction accessing a PLB object on the PLF form which has been previously destroyed. 4. This caused an unexpected O105 error. 5. This O105 problem is corrected by properly cleaning up the PLB user event stack to remove all events for any objects that are destroyed. - Corrected a problem where the last item in a PWS COMBOBOX in a 99Ba PLFORM was not being shown under the following scenario: 1. A list of items were defined in the PWS COMBOBOX properties to be loaded when a FORMLOAD was performed. 2. The last item in the list of items for the PWS COMBOBOX was ONLY 1 character. - Corrected an indeterminate GPF error that might occur when the PWS 99Ba server was checking Data Manager keepalives. - Corrected a problem where the 'GetItemRect' method for a LISTVIEW would 99Bb return the 'bottom' value to be the same as the 'top' value when an IE or Edge browser was being used and the LISTVIEW subitem referenced was empty. - Corrected a problem where the PWS LISTVIEW 'EnsureVisible' method was 99Bb not working as expected. The 'EnsureVisible' has been change to force an immediate update of any pending virtual LISTVIEW data changes which allows the 'EnsureVisible' method to work as expected. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, PLB(UNIX), PLBWEBSRV - Fixed a problem where the EXPLODE instruction could cause the source 99Ba DIM variable FP to be positioned incorrectly by one byte when a RECORD or LIST variable was the last operand in an EXPLODE variable list. Example of problem: Str INIT "abc|def|ghi|jkl" Rec RECORD A DIM 1 B DIM 2 C DIM 3 RECORDEND . EXPLODE Str, "|", Rec ..... . At this point, the FP of Str should be pointing at the . 'j' character. . . Prior to this 9.9Ba fix for EXPLODE, the Str FP was pointing . at the 'k' character which is a bug. . DISPLAY *ll, Str . - Corrected a problem where a JPG image could be improperly stored into the 99Ba Sunbelt 'pdf:' output when the '*PICT={top}:{bottom}:{left}:{right}:{jpgimage}' syntax format was being used. This problem could occur if the '.jpg' image uses the 'Huffman encoding table'. Note: 1. The symptom of this problem is that a PDF reader would not show the JPG image stored in the PDF output. 2. There is no easy way to determine when a '.jpg' is using the 'Huffman Table' or not. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, ALL GUI CLIENTS - Modified the PICT object to support '.png' images. 99Bb Note: 1. The PICT object DIB ( Device Independent Bitmap ) images do not support any 32 bit color images. 2. The PICT object has been modified to support PNG transparency for full transparent color pixels. See the Documentation section for more details. - Modified the PICT object to support the BACKSTYLE property for Windows 99Bb OS runtimes (i.e. PLBWIN, PLBNET, and PLBCLIENT) when the image is created using a PNG image. The BACKSTYLE property is ignored for all other support image formats when using a Windows OS runtime. See the Documentation section for more details on the PICT object support for a PNG image. - Updated the 'jpeg' routines to use the '9b 17-Jan-2016' version. 99Ba - Updated SQLite to use the '9b 17-Jan-2016' release version. 99Ba - Modified the Sunbelt 'pdf:' processing to output PICT object images 99Ba as compressed 'jpeg' images into the PDF output. This change is being implemented to reduce the Sunbelt PDF file sizes when using PICT object images. Note: 1. The Sunbelt 'pdf:' output uses the compressed 'jpeg' images for the PICT object output by default. See the PRTOPEN *FLAGS bit mask values to revert back to output BMP images for the Sunbelt 'pdf:' output. - Modified the *FLAGS behavior flags values for the PRTOPEN to include 99Ba the following when generating the Sunbelt 'pdf:'. PDF__FLAGS_NO_JPEG_COMP EQU 1024 (0x0400) When this bit is turned on, the Sunbelt 'pdf:' output does not generate compressed 'jpeg' images when outputing a PICT object to the PDF file. Turning this bit on causes the PCT object image to be output using BMP image data. - Add GETMODE\SETMODE 'PdfJpegQuality={nvar}' to control the quality TBD for the Sunbelt 'pdf:' compressed jpeg images output to the PDF output. ------------------------------------------------------------------------------- PLBWIN, PLBNET, ALL GUI CLIENTS - Modified the Windows PANEL object to support the method named 99Ba 'InnerHtml'. This method is the same as documented for the PWS PANEL object. This new method for the Windows runtimes allows HTML to be displayed\rendered into a PANEL in a Windows Desktop PLB program. This method uses the Windows OS 'IWebBrowser2' interface. - Corrected a problem where the Sunbelt PDF output could be prematurely 99Ba terminated without giving a spool S17 error when a TTF font was being used which was not installed by the Windows OS. Note: This problem could occur when a PLB program used the 'WinApi' to create a temporary font using the Windows 'AddFontResourceExA' API. ------------------------------------------------------------------------------- PLBCMP - Corrected a problem where the compiler symbol table was being corrupted 99Ba when the LABEL for the LIKE directive already existed giving a duplicate label error. After the compiler symbol table was corrupted, multiple unexpected errors would occur where data label references were not found. - Corrected a problem where an unexpected RECORD member might not be found 99Ba when referenced. This problem could occur when a RECORD was declared using the RECORD LIKE or LIKEPTR keywords. This problem could occur in very large programs that had a large number of data variables. This problem could occur unexpectedly depending on the placement of the RECORD members across compiler symbol table segments. ------------------------------------------------------------------------------- DESIGNER.PLC - Added the WebClass property to the Designer generated TabPanels. - Corrected an O105 error that could occur during the Print function. - Corrected an error during object array creation. - Enabled the BackStyle property for Windows forms. ------------------------------------------------------------------------------- EDITOR.PLC - Corrected an issue with the shortcut menu. - Modified the editor to use a new method to load file for improved performance. This change requires use of a 9.9 suncs21.ocx - Changed the editor version number routine to also report the version of the editor control. ------------------------------------------------------------------------------- SUNIDE.PLC - Corrected parsing of file names with directories containing a space. - Terminates if the -CFG option directory does not exist. - Create the SCRATCH directory beneath the -CFG directory. - Added quotes around the output file before executing the SORT verb to support working directories containing spaces. ------------------------------------------------------------------------------- SUNCS21.OCX - Modified to allow only one mouse button to be active at a time. - Improved file loading speed for large files. -------------------------------------------------------------------------------