Date: 01-30-2023 Subject: RELEASE 10.5A Runtime Files These RELEASE notes pertain to the following programs or files: EMBEDINI 10.5A 30 Jan 2023 10.5.1.500 EMBEDINI64 10.5A 30 Jan 2023 10.5.1.500 HEXDUMP 10.5A 30 Jan 2023 10.5.1.500 HEXDUMP64 10.5A 30 Jan 2023 10.5.1.500 MAKECLI 10.5A 30 Jan 2023 10.5.1.500 MAKECON 10.5A 30 Jan 2023 10.5.1.500 MAKECONET 10.5A 30 Jan 2023 10.5.1.500 MAKEDEF 10.5A 30 Jan 2023 10.5.1.500 MAKEMFD 10.5A 30 Jan 2023 10.5.1.500 MANAGECE 10.5A 30 Jan 2023 10.5.1.500 OBJMATCH 10.5A 30 Jan 2023 10.5.1.500 OBJMATCH64 10.5A 30 Jan 2023 10.5.1.500 ODBCINST64 10.5A 30 Jan 2023 10.5.1.500 PLBCGI 10.5A 30 Jan 2023 10.5.1.500 PLBCLICON 10.5A 30 Jan 2023 10.5.1.500 (ComCtl 6) PLBCLIENT 10.5A 30 Jan 2023 10.5.1.500 (ComCtl 6) PLBCLINET 10.5A 30 Jan 2023 10.5.1.500 (ComCtl 6) PLBCON 10.5A 30 Jan 2023 10.5.1.500 (ComCtl 6) PLBCONET 10.5A 30 Jan 2023 10.5.1.500 (ComCtl 6) PLBNET 10.5A 30 Jan 2023 10.5.1.500 (ComCtl 6) PLBSERVE 10.5A 30 Jan 2023 10.5.1.500 (Processed Server) PLBSERVET 10.5A 30 Jan 2023 10.5.1.500 (Threaded Server) PLBWEBSRV 10.5A 30 Jan 2023 10.5.1.500 (Processed Server) PLBWEBSRVT 10.5A 30 Jan 2023 10.5.1.500 (Threaded Server) PLBWIN 10.5A 30 Jan 2023 10.5.1.500 (ComCtl 6) SUNAAMDX 10.5A 30 Jan 2023 10.5.1.500 SUNAAMDX64 10.5A 30 Jan 2023 10.5.1.500 SETGUID 10.5A 30 Jan 2023 10.5.1.500 SUNINDEX 10.5A 30 Jan 2023 10.5.1.500 SUNINDEX64 10.5A 30 Jan 2023 10.5.1.500 SUNLS 10.5A 30 Jan 2023 10.5.1.500 SUNMOD 10.5A 30 Jan 2023 10.5.1.500 SUNMOD64 10.5A 30 Jan 2023 10.5.1.500 SUNSORT 10.5A 30 Jan 2023 10.5.1.500 SUNSORT64 10.5A 30 Jan 2023 10.5.1.500 WININST 10.5A 30 Jan 2023 10.5.1.500 PLBNETSUP.DLL 10.5A 30 Jan 2023 10.5.1.500 Required for PLBNET PLBWSEC.DLL 10.5A 30 Jan 2023 10.5.1.500 Req'd PLBWIN/PLBNET ODSBAC32.DLL 10.5A 30 Jan 2023 ODSBAC64.DLL 10.5A 30 Jan 2023 SA_DLL32.DLL 10.5A 30 Jan 2023 10.5.1.500 SUNWADO.DLL 10.5A 30 Jan 2023 10.5.1.500 SUNWADO25.DLL 10.5A 30 Jan 2023 10.5.1.500 SUNWADO28.DLL 10.5A 30 Jan 2023 10.5.1.500 SUNWMSQL.DLL 10.5A 30 Jan 2023 10.5.1.500 SUNWODBC.DLL 10.5A 30 Jan 2023 10.5.1.500 SUNWSRV.DLL 10.5A 30 Jan 2023 10.5.1.500 SUNWSRV64.DLL 10.5A 30 Jan 2023 10.5.1.500 Required for Sundm64 DBGIFACE 10.5A 30 Jan 2023 PLBCMP 10.5A 30 Jan 2023 PLBDBUG 10.5A 30 Jan 2023 SUNDEBUG 10.5A 30 Jan 2023 ADMEQU.INC 10.5A 30 Jan 2023 PLBEQU.INC 10.5A 30 Jan 2023 PLBMETH.INC 10.5A 30 Jan 2023 *============================================================================== Notes for some NEW Items: - Added the 'plbwin7.exe' runtime which is built/generated 'WITHOUT' any Microsoft Edge WebView support. This runtime can be used on Windows OS systems where the WebView is not being used. - Sample PL/B programs have been added to a sample repository on GitHub. The repository can be found at this link: https://github.com/KcsDev1982/sunbelt-plb-samples Also, the samples contain the latest include files and skeleton files. As new samples are updated or developed, the repository is updated. The source files can be downloaded after the linked page is displayed. Then you can click the green button with the "Code" caption and then select "Download ZIP" from the menu. - Sunbelt has created a YouTube channel for demonstration and programming videos. These videos are located at his link: https://www.youtube.com/@sunbeltplbprogramming To get the best viewing quality, select/set the 1080p video mode found under the settings for the video window. *============================================================================== Notes for DOCUMENTATION: - In the PL/B Language Reference manual, change the 'DeleteAllColumns' method description for the DATATABLE object to read as follows: The DeleteAllColumns method removes all columns in the DATATABLE and the rows continue to exist - In the PL/B Language Reference manual, add a new DATATABLE method named 'DeleteAllContent'. ----------------------------------------------------------------------- DeleteAllContent Method (DATATABLE) The DeleteAllContent method removes all columns and rows in the DATATABLE. The method uses the following format: [label] {object}.DeleteAllContent GIVING {return} Where: label Optional. A Program Execution Label. object Required. A DATATABLE object. return Optional. A Numeric Variable always returns a zero value. Flags Affected: EOS, OVER, ZERO Note the following: 1. The EOS and OVER flags are always cleared. 2. The ZERO flag is always set TRUE. - In the PL/B Language Reference manual, add a new RUNTIME method named 'GetOsVersionItem'. ----------------------------------------------------------------------- GetOsVersionItem Method (RUNTIME) The GetOsVersionItem method accesses the Windows OS registry to retrieve OS version information. The method uses the following format: [label] {object}.GetOsVersionItem [GIVING {return}][: USING [*Index=]{index}] Where: label Optional. A Program Execution Label. object Required. A RUNTIME object. return Optional. A Character String Variable that receives the Windows OS version information as a string which contains one or more fields separated by ';' delimiter characters. index Optional. A Numeric Variable or decimal number that identifies the version fields to be retrieved from the Windows OS registry. Flags Affected: EOS, OVER, ZERO Note the following: 1. The EOS is set TRUE if the {return} is too small to receive all of the version data. 2. The ZERO and OVER flags are always cleared. 3. The {index} values are defined as follows: Value Description 0 - This value causes all version information fields to be retrieved from the Windows OS registry and returned as fields of data separated by ';' characters. This is the same behavior to be expected if the {index} parameter is not used. 1 - Retrieve the Windows OS current major version number. 2 - Retrieve the Windows OS current minor version number. 3 - Retrieve the Windows OS current Build Number. 4 - Retrieve the Windows OS current display version identifier. Example: Home Enterprise 5 - Retrieve the Windows OS current EditionID. Example: Home Enterprise 6 - Retrieve the Windows OS current version which identifies an internal OS version. Example: 6.1 6.2 6.3 4. This method can ONLY return version data when the data is in the registry. Otherwise, the version data field is null/empty. 5. This method can return an error result in the {return} variable as follows: "Err: Invalid item number!" The {index} value is invalid. "Err: NULL data!" The requested Windows OS version registry data is not found. - In the PL/B Language Reference manual, change the 'GETINFO' instruction 'SYSTEM Information' section so the 'Column' table item '645' as follows: 645 2 Operating System Version: (9.6A) ... 10 - Windows 8 or above *============================================================================== The following files have been changed as noted: ------------------------------------------------------------------------------- PLBWEBSRV (HTML\JS\CSS) - Modified to support 10.2A changes. plbwebbasic.css 10.1B 190424 plbwebbasic.js 10.2B 200707 plbwebboot.html 10.2A 191210 plbwebctls.js 10.1A 190103 plbwebmob.js 10.0A 180402 Support jQuery Mobile plbwebtvcssinfo.html 9.9 161028 plbmobstart.html 10.0A 180402 Support jQuery Mobile plbwebstart.html 10.0A 180402 plbwebstartwv.html 10.5 220524 Support Bootstrap 5 plbwebstart99a.html 9.9A 170428 ------------------------------------------------------------------------------- PLBWEBSRV (Windows) - Added the IntToString, IntParse and GetKnownPath methods. ------------------------------------------------------------------------------- PLBWIN, PLBCON, PLBCLIENT - These products have been modified to allow the Windows OS theming to be turned off. The Windows OS theming can be turned off by naming the executable file name as '5.exe'. This change is being implemented to allow PL/B runtimes to executed while showing older style Windows control appearances. For Example: Copy 'plbwin.exe' to 'plbwin5.exe'. Copy 'plbcon.exe' to 'plbcon5.exe'. Copy 'plbclient.exe' to 'plbclient5.exe'. Copy 'plbclicon.exe' to 'plbclicon5.exe' Copy 'plbwin.exe' to 'username5.exe'. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, PLBWEBSRV (Windows) - Added a RUNTIME method named 'GetOsVersionItem' which retrieves the Windows OS version information from the Registry. ------------------------------------------------------------------------------- PLBWIN - Modified to allow user tabbing actions to work properly when using using a DATATABLE that is bound using the Listview style. - Added user tabbing support to work properly when using mixed WIN32/WEBVIEW forms. - Modified to correct the GPF errors that were encountered using collections with the DATATABLE object. - Corrected SETFOCUS problems when using the Webview control. - Corrected GPF for a destroy operation of a new WebView HTMLCONTROL. - Corrected a problem when DATATABLE events were dispatched by a MODAL dialog. This problem would cause indeterminate program behaviors when using a DATATABLE. - Corrected a DATATABLE problem where data would not show in a LISTVIEW after a 'HtmlUnBind' method was executed. In this case, the data would not show on subsequent binding actions. - Corrected a problem where the 'plberrors.xml' error/warning descriptions would not load. This issue started occurring after warning descriptions were added in release 10.5. ------------------------------------------------------------------------------- PLBWIN7 - Add the 'plbwin7.exe' runtime which is built/generated 'WITHOUT' any Microsoft Edge WebView support. This runtime can be used on Windows OS systems where the WebView is not being used. ------------------------------------------------------------------------------- PLBMETH.INC - Updated the parameters for the DATATABLE methods. ------------------------------------------------------------------------------- SUNIDE.PLC - Added "Retry" button when unable to compile a program because it is in use. - Now updates file icons in the treeview when files become available by external actions. - Corrected the "-cfg=" command line switch to set the program work directory. - Modified to pass the configured autocomplete character count to the designer loadmod. - Project files with undefined extensions are now passed to the operating system when an open action is requested. - The performance of the Find in Files function has been much improved. - Added a runtime option to set the current working directory when executing or debugging a program. ------------------------------------------------------------------------------- DESIGNER.PLC - Corrected an object selection issue. - Added logic to attempt sending replication emails without SSL when SSL is requested by the user and it is not available (M64 subcode 99). - Modified to accept reflection data and autocomplete character count when running as an IDE loadmod. - When executing as a standalone program, the autocomplete character count defaults to three. -------------------------------------------------------------------------------