Date: 10-03-2022
Subject: RELEASE 10.5 Runtime Files
These RELEASE notes pertain to the following programs or files:
EMBEDINI 10.5 03 Oct 2022 10.5.0.500
EMBEDINI64 10.5 03 Oct 2022 10.5.0.500
HEXDUMP 10.5 03 Oct 2022 10.5.0.500
HEXDUMP64 10.5 03 Oct 2022 10.5.0.500
MAKECLI 10.5 03 Oct 2022 10.5.0.500
MAKECON 10.5 03 Oct 2022 10.5.0.500
MAKECONET 10.5 03 Oct 2022 10.5.0.500
MAKEDEF 10.5 03 Oct 2022 10.5.0.500
MAKEMFD 10.5 03 Oct 2022 10.5.0.500
MANAGECE 10.5 03 Oct 2022 10.5.0.500
OBJMATCH 10.5 03 Oct 2022 10.5.0.500
OBJMATCH64 10.5 03 Oct 2022 10.5.0.500
ODBCINST64 10.5 03 Oct 2022 10.5.0.500
PLBCGI 10.5 03 Oct 2022 10.5.0.500
PLBCLICON 10.5 03 Oct 2022 10.5.0.500 (ComCtl 6)
PLBCLIENT 10.5 03 Oct 2022 10.5.0.500 (ComCtl 6)
PLBCLINET 10.5 03 Oct 2022 10.5.0.500 (ComCtl 6)
PLBCON 10.5 03 Oct 2022 10.5.0.500 (ComCtl 6)
PLBCONET 10.5 03 Oct 2022 10.5.0.500 (ComCtl 6)
PLBNET 10.5 03 Oct 2022 10.5.0.500 (ComCtl 6)
PLBSERVE 10.5 03 Oct 2022 10.5.0.500 (Processed Server)
PLBSERVET 10.5 03 Oct 2022 10.5.0.500 (Threaded Server)
PLBWEBSRV 10.5 03 Oct 2022 10.5.0.500 (Processed Server)
PLBWEBSRVT 10.5 03 Oct 2022 10.5.0.500 (Threaded Server)
PLBWIN 10.5 03 Oct 2022 10.5.0.500 (ComCtl 6)
SUNAAMDX 10.5 03 Oct 2022 10.5.0.500
SUNAAMDX64 10.5 03 Oct 2022 10.5.0.500
SETGUID 10.5 03 Oct 2022 10.5.0.500
SUNINDEX 10.5 03 Oct 2022 10.5.0.500
SUNINDEX64 10.5 03 Oct 2022 10.5.0.500
SUNLS 10.5 03 Oct 2022 10.5.0.500
SUNMOD 10.5 03 Oct 2022 10.5.0.500
SUNMOD64 10.5 03 Oct 2022 10.5.0.500
SUNSORT 10.5 03 Oct 2022 10.5.0.500
SUNSORT64 10.5 03 Oct 2022 10.5.0.500
WININST 10.5 03 Oct 2022 10.5.0.500
PLBNETSUP.DLL 10.5 03 Oct 2022 10.5.0.500 Required for PLBNET
PLBWSEC.DLL 10.5 03 Oct 2022 10.5.0.500 Req'd PLBWIN/PLBNET
PLBNLDD.DLL 10.5 03 Oct 2022 10.5.0.500 Required SUNDM
PLBNLDR.DLL 10.5 03 Oct 2022 10.5.0.500 Req'd PLBWIN/PLBNET
PLBNLDS.DLL 10.5 03 Oct 2022 10.5.0.500 Required PLBSERVE
PLBNLDW.DLL 10.5 03 Oct 2022 10.5.0.500 Required PLBWEBSRV
ODSBAC32.DLL 10.5 03 Oct 2022
ODSBAC64.DLL 10.5 03 Oct 2022
SA_DLL32.DLL 10.5 03 Oct 2022 10.5.0.500
SUNWADO.DLL 10.5 03 Oct 2022 10.5.0.500
SUNWADO25.DLL 10.5 03 Oct 2022 10.5.0.500
SUNWADO28.DLL 10.5 03 Oct 2022 10.5.0.500
SUNWMSQL.DLL 10.5 03 Oct 2022 10.5.0.500
SUNWODBC.DLL 10.5 03 Oct 2022 10.5.0.500
SUNWSRV.DLL 10.5 03 Oct 2022 10.5.0.500
SUNWSRV64.DLL 10.5 03 Oct 2022 10.5.0.500 Required for Sundm64
DBGIFACE 10.5 03 Oct 2022
PLBCMP 10.5 03 Oct 2022
PLBDBUG 10.5 03 Oct 2022
SUNDEBUG 10.5 03 Oct 2022
ADMEQU.INC 10.5 03 Oct 2022
PLBEQU.INC 10.5 03 Oct 2022
PLBMETH.INC 10.5 03 Oct 2022
*==============================================================================
Notes for some NEW Items:
- PL/B Windows runtimes support Microsoft Edge WebView2.
- Windows runtimes support both Win32 and WebView2 objects on same PLF
forms in PL/B programs.
- New DATATABLE object added.
Features:
Transactioning with ROLLBACK and COMMIT operations.
Undo Stack used to restore original data as needed
when using transactions.
Paging feature allows pages of data to be shown in a
ListView mode.
Server side object used to virturalize data.
DATATABLE data binding to HTMLCONTROL object.
*==============================================================================
Notes for WARNINGS:
- The PLBCLI.ZIP and PLBRUN.ZIP are not released as of version 10.5.
*==============================================================================
Notes for DOCUMENTATION:
- In the PL/B Lanuage Reference manual, add a Note (30.) to the
'COPYFILE' instruction that reads as follows:
30. When the COPYFILE syntax format (1) is being used in a
program executing using the 'plbserve' runtime, there
is an approximate file size limit of 16MB when a file is
being transferred to or from the 'plbclient' OS system.
This 16MB limit only applies as shown in these examples:
COPYFILE "c:\serverpath\serverfile.ext":
"!c:\clientpath\clientfile.ext"
In this case, a file named 'serverfile.ext' is being
copied from the server OS system to the client OS system.
COPYFILE "!c:\clientpath\clientfile.ext":
"c:\serverpath\serverfile.ext"
In this case, a file named 'clientfile.ext' is being
copied from the client OS system to the server OS system.
- In the PL/B Language Reference manual, add the RUNTIME object to
include the following method:
-----------------------------------------------------------------
GetKnownPath Method (RUNTIME)
The GetKnownPath method retrieves a limited set of Windows OS
folder paths that are documented as 'known' folders by the
Windows OS.
The format of this method is defined as follows:
[label] {object}.GetKnownPath GIVING {return}:
USING [*TYPE=]{type}
Where:
label
Optional. A Program Execution Label.
object
Required. A RUNTIME object.
return
Optional. A Character String Variable that receives
a path that is known by the OS executing
the runtime.
type
Required. A Numeric Variable or decimal number that
identifies the folder path to be retrieved
from the OS.
Flags Affected: EOS, OVER, ZERO
Note the following:
1. The EOS flag is set true if the {return} character
variable is too small such that the returned folder
path string is truncated.
2. The ZERO and OVER flag are always cleared.
3. The {type} value identifies the folder path to be
retreived from the OS. The supported values are defined
as follows which are included in the 'plbmeth.inc'
descriptions:
Type Value
$FOLDERID_Desktop CONST "0"
$FOLDERID_Documents CONST "1"
$FOLDERID_Downloads CONST "2"
$FOLDERID_Fonts CONST "3"
$FOLDERID_Music CONST "4"
$FOLDERID_OneDrive CONST "5"
$FOLDERID_Pictures CONST "6"
$FOLDERID_Programs CONST "7"
$FOLDERID_ProgramData CONST "8"
$FOLDERID_ProgramFiles CONST "9"
$FOLDERID_RoamingAppData CONST "10"
$FOLDERID_System CONST "11"
$FOLDERID_SystemX86 CONST "12"
$FOLDERID_Videos CONST "13"
$FOLDERID_Windows CONST "14"
$FOLDERID_LocalAppData CONST "15"
$FOLDERID_LocalDocuments CONST "16"
$FOLDERID_LocalDownloads CONST "17"
$FOLDERID_LocalMusic CONST "18"
$FOLDERID_LocalPictures CONST "19"
$FOLDERID_LocalVideos CONST "20"
$FOLDERID_Public CONST "21"
$FOLDERID_PublicDesktop CONST "22"
$FOLDERID_PublicDocuments CONST "23"
$FOLDERID_PublicDownloads CONST "24"
$FOLDERID_PublicPictures CONST "25"
$FOLDERID_PublicMusic CONST "26"
$FOLDERID_PublicVideos CONST "27"
- In the PL/B Language Reference manual, add GETMODE and SETMODE keyword
descriptions as follows:
..........................
*PRTPREVIEWCENTER (GETMODE)
*PRTPREVIEWCENTER=(value}
The *PRTPREVIEWCENTER control reports the current runtime flag
value used to allow/disallow Print Preview window positioning
relative to its parent window. The Print Preview parent window
is the current active PL/B WINDOW when Print Preview window
is created.
{value} is a previously defined Numeric Variable that receives
the runtime behavior flag as follows:
Value Comment
0 This value is the default value. When this value
is being used, the PL/B runtime Windows OS
default position/size values when the Print
Preview window is created.
1 This value causes the PL/B runtime to position
the Print Preview window relative to the center
of its parent window position.
..........................
*PRTPREVIEWCENTER (SETMODE)
*PRTPREVIEWCENTER=(value}
The *PRTPREVIEWCENTER control specifies/sets the runtime flag
value used to allow/disallow Print Preview window positioning
relative to its parent window. The Print Preview parent window
is the current active PL/B WINDOW when Print Preview window
is created.
{value} is a decimal number or a Numeric Variable value set
into the runtime behavior flag described as follows:
Value Comment
0 This value is the default value. When this value
is being used, the PL/B runtime Windows OS
default position/size values when the Print
Preview window is created.
1 This value causes the PL/B runtime to position
the Print Preview window relative to the center
of its parent window position.
..........................
*WEBMODEHTMLCTRL (GETMODE)
*WEBMODEHTMLCTRL=(value}
The *WEBMODEHTMLCTRL control returns the current state flag used
to control WebMode processing for HTMLCONTROL objects in a PL/B
program. This control is only meaningful for runtimes that have
WebView2 support.
{value} is a previously defined Numeric Variable that receives
the runtime behavior flag as follows:
Value Comment
0 This value identifies that the WebMode processing
for a HTMLCONTROL is to use the current runtime
default setting. See the PL/B runtime keyword
named 'PLBWIN_WEBMODEHTMLCTRL' for addition
information.
1 This value identifies that the WebMode processing
for a HTMLCONTROL to be set for Win32 only. In this
case, the normal Windows runtime operations are
processed using the Windows OS 'IWebBrowser2'
interface.
2 This value identifies that the WebMode processing
for a HTMLCONTROL can be set for Win32 or WebView2
controls. In this case, the HTMLCONTROL can be
created using Win32 operations or using WebView2
operations.
3 This value identifies that the WebMode processing
for a HTMLCONTROL to be set for WebView2 mode only.
In this case, the HTMLCONTROL is created using the
Microsoft Edge WebView2 interface.
..........................
*WEBMODEHTMLCTRL (SETMODE)
*WEBMODEHTMLCTRL=(value}
The *WEBMODEHTMLCTRL control sets the current state flag used
to control WebMode processing for HTMLCONTROL objects in a PL/B
program. This control is only meaningful for runtimes that have
WebView2 support.
{value} is a decimal number or a Numeric Variable value set
for runtime behavior flags described as follows:
Value Comment
0 Set this value so the WebMode processing for a
HTMLCONTROL is to use the current runtime
default setting. See the PL/B runtime keyword
named 'PLBWIN_WEBMODEHTMLCTRL' for addition
information.
1 Set this value so the WebMode processing for a
HTMLCONTROL is set for Win32 only. In this case,
the normal Windows runtime operations are processed
using the Windows OS 'IWebBrowser2' interface.
2 Set this value so the WebMode processing for a
HTMLCONTROL can be either for Win32 or WebView2
controls. In this case, the HTMLCONTROL can be
created using Win32 operations or using WebView2
operations.
3 Set this value so the WebMode processing for a
HTMLCONTROL is for WebView2 mode only. In this
case, the HTMLCONTROL is created using the
Microsoft Edge WebView2 interface.
..........................
*WEBMODEPLF (GETMODE)
*WEBMODEPLF=(value}
The *WEBMODEPLF control returns the current state flag used
to control WebMode processing for PL/B objects on PLF forms
loaded and created in a PL/B program. This control is only
meaningful for runtimes that have WebView2 support.
{value} is a previously defined Numeric Variable that receives
the runtime behavior flag as follows:
Value Comment
0 This value identifies that the WebMode processing
for PL/B objects on PLF forms is to use the
current runtime default setting. See the PL/B
runtime keyword named 'PLBWIN_WEBMODEPLF' for
addition information.
1 This value identifies that the WebMode processing
for PL/B objects on PLF forms is to use Win32 only
controls.
2 This value identifies that the WebMode processing
for PL/B objects on PLF forms can be either Win32
or WebView2 controls. In this case, the PLF form
objects can be created using Win32 interface or
using WebView2 interface.
3 This value identifies that the WebMode processing
for PL/B objects on PLF forms is set for WebView2
mode only. In this case, the runtime uses the
Microsoft Edge WebView2 interface to create PL/B
objects on PLF forms.
..........................
*WEBMODEPLF (SETMODE)
*WEBMODEPLF=(value}
The *WEBMODEPLF control sets the current state flag used
to control WebMode processing for PL/B objects on PLF forms
loaded and created in a PL/B program. This control is only
meaningful for runtimes that have WebView2 support.
{value} is a decimal number or a Numeric Variable value set
for runtime behavior flags described as follows:
Value Comment
0 Set this value so the WebMode processing for PL/B
objects on PLF forms is to use the current runtime
default setting. See the PL/B runtime keyword
named 'PLBWIN_WEBMODEPLF' for addition
information.
1 Set this value so the WebMode processing for
loading and creating PL/B objects on PLF forms
is to only use the Win32 controls.
2 Set this value so the WebMode processing when
loading and creating PL/B objects on PLF forms
uses either Win32 or WebView2 controls.
3 Set this value so the WebMode processing when
loading and creating PL/B objects on PLF forms
only uses WebView2 controls. In this
case, the PL/B objects are created using the
Microsoft Edge WebView2 interface.
..........................
*WEBMODEPWF (GETMODE)
*WEBMODEPWF=(value}
The *WEBMODEPWf control returns the current state flag used
to control WebMode processing for PL/B objects on PWF forms
loaded and created in a PL/B program. This control is only
meaningful for runtimes that have WebView2 support.
{value} is a previously defined Numeric Variable that receives
the runtime behavior flag as follows:
Value Comment
0 This value identifies that the WebMode processing
for PL/B objects on PWF forms is to use the
current runtime default setting. See the PL/B
runtime keyword named 'PLBWIN_WEBMODEPWF' for
addition information.
1 This value identifies that the WebMode processing
for PL/B objects on PWF forms is to use Win32 only
controls.
2 This value identifies that the WebMode processing
for PL/B objects on PWF forms can be either Win32
or WebView2 controls. In this case, the PWF form
objects can be created using Win32 interface or
using WebView2 interface.
3 This value identifies that the WebMode processing
for PL/B objects on PWF forms is set for WebView2
mode only. In this case, the runtime uses the
Microsoft Edge WebView2 interface to create PL/B
objects on PWF forms.
..........................
*WEBMODEPWF (SETMODE)
*WEBMODEPWF=(value}
The *WEBMODEPWF control sets the current state flag used
to control WebMode processing for PL/B objects on PWF forms
loaded and created in a PL/B program. This control is only
meaningful for runtimes that have WebView2 support.
{value} is a decimal number or a Numeric Variable value set
for runtime behavior flags described as follows:
Value Comment
0 Set this value so the WebMode processing for PL/B
objects on PWF forms is to use the current runtime
default setting. See the PL/B runtime keyword
named 'PLBWIN_WEBMODEPWF' for addition
information.
1 Set this value so the WebMode processing for
loading and creating PL/B objects on PWF forms
is to only use the Win32 controls.
2 Set this value so the WebMode processing when
loading and creating PL/B objects on PWF forms
uses either Win32 or WebView2 controls.
3 Set this value so the WebMode processing when
loading and creating PL/B objects on PWF forms
only uses WebView2 controls. In this
case, the PL/B objects are created using the
Microsoft Edge WebView2 interface.
..........................
*WEBVIEW2VERSION (GETMODE)
*WEBVIEW2VERSION=(value}
The *WEBVIEW2VERSION control returns the current WebView2
version being used by the PL/B runtime.
{value} is a previously defined Character String Variable that
returns the current WebView2 version. If the 'Microsoft Edge
WebView2 Runtime' is not installed on the Windows OS system
where the PL/B runtime is executing, the return string is
NULL.
For example:
"105.0.1343.50;Microsoft Edge WebView2 Runtime"
- In the PL/B Runtime Reference manual, add the following keywords:
..........................
PLBWIN_WEBMODEHTMLCTRL Keyword
PLBWIN_WEBMODEHTMLCTRL={webmode}
This keyword control defines and sets the WebMode processing to
be used when an HTMLCONTROL object is being created. If
this keyword is not used or it has an invalid value, the default
behavior of the PL/B runtimes is to execute as normally
expected without using the Microsoft WebView2 Edge interface.
The {webmode} values can be set as follows:
Value Description
1 Set this value so the WebMode processing for a
HTMLCONTROL is set for Win32 only. In this case,
the normal Windows runtime operations are processed
using the Windows OS 'IWebBrowser2' interface.
2 Set this value so the WebMode processing for a
HTMLCONTROL can be either for Win32 or WebView2
controls. In this case, the HTMLCONTROL can be
created using Win32 operations or using WebView2
operations.
3 Set this value so the WebMode processing for a
HTMLCONTROL is for WebView2 mode only. In this
case, the HTMLCONTROL is created using the
Microsoft Edge WebView2 interface.
..........................
PLBWIN_WEBMODEPLF Keyword
PLBWIN_WEBMODEPLF={webmode}
This keyword control defines and sets the WebMode processing to
be used when PL/B objects on a PLF form are being created. If
this keyword is not used or it has an invalid value, the default
behavior of the PL/B runtimes is to execute as normally
expected without using the Microsoft WebView2 Edge interface.
The {webmode} values can be set as follows:
Value Description
1 Set this value so the WebMode processing for
loading and creating PL/B objects on PWF forms
is to only use the Win32 controls.
2 Set this value so the WebMode processing when
loading and creating PL/B objects on PWF forms
uses either Win32 or WebView2 controls.
3 Set this value so the WebMode processing when
loading and creating PL/B objects on PWF forms
only uses WebView2 controls. In this
case, the PL/B objects are created using the
Microsoft Edge WebView2 interface.
..........................
PLBWIN_WEBMODEPWF Keyword
PLBWIN_WEBMODEPWF={webmode}
This keyword control defines and sets the WebMode processing to
be used when PL/B objects on a PWF form are being created. If
this keyword is not used or it has an invalid value, the default
behavior of the PL/B runtimes is to execute as normally
expected without using the Microsoft WebView2 Edge interface.
The {webmode} values can be set as follows:
Value Description
1 Set this value so the WebMode processing for
loading and creating PL/B objects on PWF forms
is to only use the Win32 controls.
2 Set this value so the WebMode processing when
loading and creating PL/B objects on PWF forms
uses either Win32 or WebView2 controls.
3 Set this value so the WebMode processing when
loading and creating PL/B objects on PWF forms
only uses WebView2 controls. In this
case, the PL/B objects are created using the
Microsoft Edge WebView2 interface.
- In the PL/B Language Reference manual, change the WINDOW object methods
to include the 'SetAsClient' method described as follows:
-----------------------------------------------------------------------
SetAsClient Method (WINDOW)
The SetAsClient method is only used when using a WebView object.
This method assigns the current WINDOW object so CLIENT methods
are executed for the embedded WebView browser thead created for
the current Window.
The format of this method is defined as follows:
[label] {object}.SetAsClient GIVING {return}
Where:
label
Optional. A Program Execution Label.
object
Required. A WINDOW object.
return
Optional. A Numeric Variable always returns a zero value.
Flags Affected: EOS, OVER, ZERO
Note the following:
1. The ZERO flag is always set to True.
2. The EOS and OVER flag are always cleared.
3. When a WebView object is created on a WINDOW object, a
WebView thread is created with an embedded browser.
4. This method is only needed if a PL/B program has
WebView objects created as children on multiple
WINDOW objects at the same time. In this case, the
SetAsClient identifies which WebView client browser is
to be accessed when CLIENT methods are used in a
PL/B program.
- In the PL/B Language Reference manual, change the 'LISTVIEW Events'
section to include a reference to the $UPDATED event.
- In the PL/B Language Reference manual, change the 'EVENTREGISTER'
statement Note (4.) table so the $UPDATED description reads as
follows:
22 $UPDATED Updated Only AUTOMATION, DATATABLE and LISTVIEW (when
it uses SetEditColumn method).
- In the PL/B Language Reference manual, add the new object named
DATATABLE described as follows:
...................................................................
DATATABLE
The DATATABLE object provides the PL/B language a means of
loading, storing, and manipulating a table of data that is
maintained and referenced using a column/row orientation.
The object attributes and behaviors are specified using PL/B
properties and/or methods which are executed in a PL/B program.
The following statement formats:
[label] DATATABLE [%|^][arraysize]
Where:
label
Optional. A Program Execution Label.
%
Optional. Denotes the item as being GLOBAL.
arraysize
Optional. An integer decimal constant, CONST variable, or
EQUATEd value indicating the number of array items.
Flags Affected: NONE
Note the following:
1. The DATATABLE is supported in CREATE, GETPROP, and
SETPROP instruction.
2. By default, a newly create DATATABLE does not have an
end user UI interface to view and/or perform user actions
with. This allows a PL/B program to create, manage, and
maintain one or more DATATABLE objects as virtual table(s)
of data for an application. However, a PL/B program can
bind a DATATABLE to a PL/B HTMLCONTROL object when an
application requires an end user UI interface to be used.
When the DATATABLE/HTMLCONTROL bind is being used, the
generation and presentation of the DATATABLE data done
using 'BootStrap 5' framework. More information about
'BootStrap 5' is available at this link:
https://getbootstrap.com/docs/5.0
3. The DATATABLE object is contains two collections as
COLUMNS and ROWS that can be used. These collections are
used to execute column and properties for a DATATABLE.
4. The COLUMNS collection allows direct access to the DATATABLE
columns using the GETPROP or SETPROP statements.
The collection uses the following format:
[label] GetProp {object}.Columns({key}),{property}
Where:
label
Optional. A Program Execution Label.
object
Required. A DATATABLE object that is accessed.
key
Required. A decimal number or Numeric Variable that
is zero-based position of the column. Or,
the key can be specified using a Character
String Variable or literal using the
'column identification'. The 'column
identification' is defined using the *ID
parameter for the 'AddColumn' method when
a column is added to the DATATABLE.
property
Required. The remaining line of the GETPROP statement.
5. The ROWS collection allows direct access to the DATATABLE
rows using the GETPROP or SETPROP statements.
The collection uses the following format:
[label] GetProp {object}.Rows({nkey}),{property}
Where:
label
Optional. A Program Execution Label.
object
Required. A DATATABLE object that is accessed.
nkey
Required. A decimal number or Numeric Variable that
specifies a zero-based position of a row
in the DATATABLE.
property
Required. The remaining line of the GETPROP statement.
6. This DATATABLE object supports the following properties:
ACTIVEROW=dnumnvar
CHECKBOX=dnumnvar
CONTEXT=dnumnvar
GRIDLINE=dnumnvar
HIDECOLHDR=dnumnvar
MULTISELECT=dnumnvar
OBJECTID=dnumnvar
PAGEPOS=dnumnvar
PAGESIZE=dnumnvar
RUNNAME=svarslit
SORTORDER=dnumnvar
STRIPED=dnumnvar
TRANSACTION=dnumnvar
USERDATA=svarslit
7. This DATATABLE COLUMNS collection supports the following
properties:
ALIGNMENT=dnumnvar
COLUMNID=svarslit
CONTENTTYPE=dnumnvar
CONTEXT=dnumnvar
COMPUTE=svarslit
DATATYPE=dnumnvar
EDITCSS=svarslit
EDITLIST=svarslit
MAXSIZE=dnumnvar
ORDER=dnumnvar
TITLE=svarslit
WEBCLASS=svarslit
WEBWIDTH=svarslit
8. This DATATABLE ROWS collection supports the following
properties:
CHECKED=dnumnvar
CONTEXT=dnumnvar
PARAM=dnumnvar
SELECTED=dnumnvar
9. The DATATABLE object supports the following methods:
AddColumn
AddRow
DeleteAllColumns
DeleteAllRows
DeleteColumn
DeleteRow
FindRow
FindNextRow
GetColumnCount
GetOrderArray
GetRowCount
GetRowText
GetRowTextAll
LoadCsvFile
SaveCsvFile
SetRowText
SetRowTextAll
Sort
HtmlBind
Commit
Rollback
Undo
HtmlUpdate
HtmlSave
HtmlUnBind
10. The DATATABLE object supports events which are generated
by UI actions through the HTMLCONTROL object which has
been attached (i.e. bind) to the table. The events only
take affect after the DATATABLE bind to a HTMLCONTROL
is done. The EVENTREG statement is used to register the
events for the DATATABLE like other objects.
Supported Events Using Listview Mode are:
$CHANGE - 3
Event Result is 'Row' number only zero relative.
The Home, End, Up and Down keyed actions cause this
event. These keys only have an affect within the scope
of a single page.
$CLICK - 4
Event Result is 'Row' number only zero relative.
$DBLCLICK - 6
Event Result is 'Row' number only zero relative.
$UPDATED - 22
Event Result is '( (Row*100) + Col )'.
Row and Column numbers are zero relative.
This $UPDATED event can occur after a DATATABLE
cell or subitem has data that is changed by an
end-user UI action.
$COLCLICK - 23
Event Result is 'Column' number only zero relative.
$ITEMACTIVATE - 25
Event Result is '( (Row*100) + Col )'.
Row and Column numbers are zero relative.
Supported Events Using Cards Mode are:
$CLICK - 4
Event Result is 'Row' number only zero relative.
$UPDATED - 22
Event Result is '( (Row*100) + Col )'.
Row and Column numbers are zero relative.
This event only occurs when a click action for
$TC_BUTTON1, $TC_BUTTON2, or $TC_BUTTON3 occurs.
The Row number is the Card number. The Column number
identifies which CARD button is clicked.
$ITEMACTIVATE - 25
Event Result is '( Row*100 )'.
Row number are zero relative.
Column number is always zero.
- In the 'PL/B Web Server' manual, add the 'PLBWEB_USE_WEBVIEW' keyword
with the following description.
PLBWEB_USE_WEBVIEW Keyword
PLBWEB_USE_WEBVIEW={on|off}
By default this keyword is 'off' for the PL/B Web Server. When
this keyword is set to 'on', the PWS server loads and uses the
'Bootstrap 5' framework so the client HTML objects have enhanced
appearances and behaviors for PL/B objects. See the 'PL/B Language
Reference' manual under 'Web Technologies' for more details
web objects.
- In the PL/B Language Reference manual, add these properties for a
BUTTON created as a web object:
---------------------------------------
CONTEXT Property (WebView Only)
The CONTEXT property is only used when the object has been created
as a web object using the WebView mode. This property uses
Bootstrap 5 'Contextual classes' to invoke a style for
background and color attributes.
CONTEXT={value}
Note the following:
1. The CONTEXT can be used in CREATE, GETPROP and SETPROP
statements for a web object.
2. {value} is a Numeric Variable or Decimal number defining the
context style to be used for this object.
The supported values for this property are defined as follows:
Value Web object uses...
$OC_DEFAULT 0 default Contextual class.
$OC_DANGER 1 danger Contextual class.
$OC_DARK 2 dark Contextual class.
$OC_INFO 3 info Contextual class.
$OC_LIGHT 4 light Contextual class.
$OC_PRIMARY 5 primary Contextual class.
$OC_SECONDARY 6 secondary Contextual class.
$OC_SUCCESS 7 success Contextual class.
$OC_WARNING 8 warning Contextual class.
3. Use the following link to get information about a web
object for the Bootstrap 5 'Contextual classes' buttons:
https://getbootstrap.com/docs/5.0/components/buttons/
---------------------------------------
BUTTONSTATE Property (WebView Only)
The BUTTONSTATE property is only used when a BUTTON object has
been created as a web object using the WebView mode. This property
uses a combination of Bootstrap 5 'Contextual classes' and button
state types to invoke a variety of appearances for a web button
object.
BUTTONSTATE={value}
Note the following:
1. The BUTTONSTATE can be used in CREATE, GETPROP and SETPROP
statements for a BUTTON web object.
2. {value} is a Numeric Variable or Decimal number defining the
buttonstate style to be used for this object.
The supported values for this property are defined as follows:
Value Web object uses...
$BTNSTATE_DEFAULT 0 default.
$BTNSTATE_OUTLINE 1 button outline.
$BTNSTATE_SPIN 2 button spinner.
$BTNSTATE_SPINGROW 3 button grow spinner.
3. For more information about Bootstrap 5 buttons and
spinners, see the following links:
https://getbootstrap.com/docs/5.0/components/buttons/
https://getbootstrap.com/docs/5.0/components/spinners/
- In the PL/B Language Reference manual, add the switch property
for a CHECKBOX object created as a web object:
---------------------------------------
SWITCH Property (WebView Only)
The SWITCH property is only used when a CHECKBOX object has
been created as a web object using the WebView mode. This property
uses a Bootstrap 5 'switch class' to show a toggle switch for a
web checkbox object.
SWITCH={value}
Note the following:
1. The SWITCH property can be used in CREATE, GETPROP and SETPROP
statements for a CHECKBOX web object.
2. {value} is a Numeric Variable or Decimal number where the
value turns the switch on or off.
The supported values for this property are defined as follows:
Value Web object uses...
$OFF 0 no toggle switch as default.
$ON 1 a toggle switch.
3. For more information about Bootstrap 5 switches, see the
following link:
https://getbootstrap.com/docs/5.0/forms/checks-radios/#switches
- In the PL/B Language Reference manual, add the WEBMODE property
for the HTMLCONTROL and WINDOW objects:
---------------------------------------
WEBMODE Property
The WEBMODE property is used to specify whether the WebView mode
is to be allowed or not allowed for a HTMLCONTROL or WINDOW object.
Once these objects are created using a specific web mode, all
child objects are created and processed accordingly.
WEBMODE={value}
Note the following:
1. The WEBMODE property can be used in CREATE, GETPROP and SETPROP
statements. However, this property ONLY takes affect when it
is used in the CREATE statement for a HTMLCONTROL or WINDOW
object. After these objects have been created to use a WEBMODE
setting, this web mode remains in effect until they are
destroyed.
2. {value} is a Numeric Variable or Decimal number where the
value identifies the current web mode to be used.
The supported values for this property are defined as follows:
Value Web Mode is...
0 This value identifies that the WebMode processing
for a HTMLCONTROL or WINDOW object is to use the
current runtime default setting. See the PL/B
runtime keyword named 'PLBWIN_WEBMODEHTMLCTRL' for
addition information.
1 This value identifies that the WebMode processing
for a HTMLCONTROL or WINDOW object only uses Win32
controls. For HTMLCONTROL, the normal Windows
runtime operations are processed using the Windows
OS 'IWebBrowser2' interface. Otherwise, the normal
Windows OS controls are used.
2 This value identifies that the WebMode processing
for a HTMLCONTROL or WINDOW object can use Win32
or WebView2 controls.
3 This value identifies that the WebMode processing
for a HTMLCONTROL or WINDOW object only uses
WebView2 controls. In this case, these objects are
created using the Microsoft Edge WebView2
interface.
- In the PL/B Language Reference manual, add the INPUTTYPE property
for the EDITTEXT object:
---------------------------------------
INPUTTYPE Property (WebView Only)
The INPUTTYPE property is only used when an EDITTEXT object has
been created as a web object using the WebView mode. This property
sets the input 'type' of the HTML tag used by an EDITTEXT
web object.
INPUTTYPE={value}
Note the following:
1. The INPUTTYPE property can be used in CREATE, GETPROP and
SETPROP statements for an EDITTEXT web object.
2. {value} is a Numeric Variable or Decimal number that is used
to set the input type for the EDITTEXT web object.
The supported values for this property are defined as follows:
Value Input Type is...
$ET_INPUTDEFAULT 0 text //
$ET_INPUTCOLOR 1 color.
$ET_INPUTDATE 2 date.
$ET_INPUTDTLOCAL 3 datetime-local.
$ET_INPUTEMAIL 4 email.
$ET_INPUTMONTH 5 month.
$ET_INPUTNUMBER 6 number.
$ET_INPUTPASSWORD 7 password.
$ET_INPUTSEARCH 8 search.
$ET_INPUTTEL 9 tel.
$ET_INPUTTEXT 10 text.
$ET_INPUTTIME 11 time.
$ET_INPUTURL 12 url.
$ET_INPUTWEEK 13 week.
3. For more information about HTML tag and input type,
see the following link:
https://www.w3schools.com/tags/tag_input.asp
- In the PL/B Language Reference manual, add the WEBOBJECT property
for these PL/B objects:
BUTTON MREGION
CHECKBOX PANEL
COLOR (Create Only)
COMBOBOX PICT
DATALIST PROGRESS
EDITDATETIME RADIO
EDITNUMBER SHAPE
EDITTEXT SLIDER
FLOATMENU SPLITTER
FONT (Create Only)
GROUPBOX STATTEXT
HTMLCONTROL STATUSBAR
ICON TABCONTROL
IMAGELIST TOOLBAR
LABELTEXT TREEVIEW
LISTVIEW
---------------------------------------
WEBOBJECT Property (WebView Only)
The WEBOBJECT property is used to create PL/B objects as web objects
when the WEBMODE is set with WebView turned on.
WEBOBJECT={value}
Note the following:
1. The WEBOBJECT property can be used in CREATE, GETPROP and
SETPROP statements. However, this property ONLY takes affect
when it is used in the CREATE statement to create a web object.
After a web object is created using this property, it remains
in effect until it is destroyed. The COLOR and FONT objects
can only use the WEBOBJECT property in a CREATE statement.
2. {value} is a Numeric Variable or Decimal number where the
value causes a web object to be created or not.
The supported values for this property are defined as follows:
Value Is Web object to be created?
$OFF 0 No by default.
$ON 1 Yes when WEBMODE set to use WebView.
*==============================================================================
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
- A new keyword named 'PLBWEB_USE_WEBVIEW={on|off}' has been added to
the PL/B Web Server. When this keyword is set to 'on', the PWS
server loads and uses 'Bootstrap 5' framework so the client HTML
objects have appearances and behaviors like WebView2 objects.
- Added 'plbwebstartwv.html' to PWS 'http_root' directory to be used
instead of 'plbwebstart.html' if the PWS keyword
'PLBWEB_USE_WEBVIEW=ON' is being used.
- Moved all PWS server '.js' files to the 'http_root\js' directory.
Also, the 'plbwebuser.js' must be placed into the 'http_root\js'
directory.
- Moved all PWS server '.css' files to the 'http_root\css' directory.
-------------------------------------------------------------------------------
PLBWIN, PLBNET
- Added a RUNTIME method named 'GetKnownPath' which is implemented to
retrieve specific Windows OS known folder paths. See the Documentation
section for detailed information on this method.
-------------------------------------------------------------------------------
PLBWIN, PLBCON, PLBCLIENT
- Added WebView2 Support to the Plbwin runtime and Plbclient client.
WebView2 PL/B Language Implementation
PLBWIN and PLBCLIENT have been modified to support the 'Microsoft
Edge WebView2 Runtime' when it is installed and available on a
Windows OS System. By default the PLBWIN/PLBCLIENT executes as
a WIN32 Desktop Application as normally expected.
See the 'PL/B Language Reference' manual under the 'Introduction'
section for more information.
WebView2 System Requirements
1. Windows 10
2. Windows 11
3. Sunbelt Runtime/CLient requires 32 bit WebView2 Runtime.
WebView2 Installation
1. Windows 10
a. The 'Microsoft Edge WebView2 Runtime' must be installed
on the Windows 10 System where the PL/B Runtime/Client
command ( Plbwin/Plbclient ) is being executed.
b. The 'Microsoft Edge WebView2 Runtime' can be installed
manual using the following link:
https://developer.microsoft.com/en-us/microsoft-edge/webview2/
- Scroll Down to 'Evergreen Standalone Installer'
- Download the 'x86' Installer
2. Windows 11
a. The 'Microsoft Edge WebView2 Runtime' is released with
the Windows 11 OS.
- Modified the BUTTON object to support the following properties:
---------------------------------------
CONTEXT Property (WebView Only)
The CONTEXT property is only used when the object has been created
as a web object using the WebView mode. This property uses
Bootstrap 5 'Contextual classes' to invoke a style for
background and color attributes.
CONTEXT={value}
---------------------------------------
BUTTONSTATE Property (WebView Only)
The BUTTONSTATE property is only used when a BUTTON object has
been created as a web object using the WebView mode. This property
uses a combination of Bootstrap 5 'Contextual classes' and button
state types to invoke a variety of appearances for a web button
object.
BUTTONSTATE={value}
- Modified the CHECKBOX object to support the following property:
---------------------------------------
SWITCH Property (WebView Only)
The SWITCH property is only used when a CHECKBOX object has
been created as a web object using the WebView mode. This property
uses a Bootstrap 5 'switch class' to show a toggle switch for a
web checkbox object.
SWITCH={value}
- Modified the HTMLCONTROL and WINDOW objects to support the 'WEBMODE'
property described as follows:
---------------------------------------
WEBMODE Property
The WEBMODE property is used to specify whether the WebView mode
is to be allowed or not allowed for a HTMLCONTROL or WINDOW object.
Once these objects are created using a specific web mode, all
child objects are created and processed accordingly.
WEBMODE={value}
- Modified the EDITTEXT object to support the following property:
---------------------------------------
INPUTTYPE Property (WebView Only)
The INPUTTYPE property is only used when an EDITTEXT object has
been created as a web object using the WebView mode. This property
sets the input 'type' of the HTML tag used by an EDITTEXT
web object.
INPUTTYPE={value}
- Added support for a 'WEBOBJECT' property used to create PL/B web objects
and described as follows:
---------------------------------------
WEBOBJECT Property (WebView Only)
The WEBOBJECT property is used to create PL/B objects as web objects
when the WEBMODE is set with WebView turned on.
WEBOBJECT={value}
-------------------------------------------------------------------------------
PLBWIN, PLBNET, PLBSERVE, PLBWEBSRV (Windows)
- Corrected O123 error for a 'SETPROP COLLECTION' when the properties
are specified using the '*property' syntax.
-------------------------------------------------------------------------------
PLBWIN, PLBNET, PLBSERVE, PLB(UNIX), PLBWEBSRV
- Modified the index logic used to automatically determine the EOR type
so it detects a read data file error. If a read error is detected, the
logic has been changed to give an appropriate error. This change has
been made to prevent the possiblity of a GPF error.
- Corrected a problem where the TEMPLATE 'G' generic control was causing
a S30 subcode 111 error when unexpected binary data was encountered in
a tamplate PDF object.
-------------------------------------------------------------------------------
PLBWIN, PLBNET, PLBSERVE, ALL GUI CLIENTS
- The DATATABLE object provides the PL/B language a means of
loading, storing, and manipulating a table of data that is
maintained and referenced using a column/row orientation.
The object attributes and behaviors are specified using PL/B
properties and/or methods which are executed in a PL/B program.
1) Features of the DATATABLE include:
Transactioning
Undo Stack
Paging
Server local
2) See the Documentation section for more information
for the DATATABLE properties, methods, and events.
-------------------------------------------------------------------------------
PLBWIN, PLBNET, ALL GUI CLIENTS
- Modified to allow SETFOCUS for a TOOLBAR.
- Modified the compiler to report all unresolved event label errors in a
PLFORM in the '.plbm' meta data. This change corrects an issue where the
IDE was not showing all of the unresolved event labels to the end-user.
- Modified the LISTVIEW object 'SortColumn' to work properly when sorting
with a numeric type value of 3 (numeric ascending) or 4 (numeric
descending) and a filter of '(1)' where the column data contains
negative currency values fomatted as follows:
"-$nnn,nnn.nn"
- Modified to allow the print preview Window to be positioned to the
parent Window Center when the 'SETMODE *PRTPREVIEWCENTER=1' is used.
- Modified to support the 'PRTPREVIEWCENTER' keyword for the GETMODE
and SETMODE. The 'PRTPREVIEWCENTER' keyword can be used to cause the
Print Preview Window to be positioned/centered relative to its parent
Window. See the Documentation section for details.
- Modified the PL/B runtimes to allow errors to be detected during a
save PLF file operation when processing events in the PL/B designer.
-------------------------------------------------------------------------------
PLBCMP
- Modified to allow SETFOCUS for a TOOLBAR.
- Modified so the LIKE operation can use a RECORD member variable.
- Modified to support the DATATABLE object. See the Documentation
section for more information.
- Modified the compiler to give a more detailed error when a DEFINE
replaces a label with an invalid label string.
- Changes to the compiler have been made so all of the unresolved event
label errors in the PLF forms are stored in the meta data. This allows
the IDE to show all of the errors as expect.
- Corrected a bug where an INTEGER declaration that was initialized to
an EQUATE value could cause indeterminate program PCODE. This could
cause unexpected program behaviors including a GPF.
iVar INTEGER 4,$MyEquate
- Added the 'PRTPREVIEWCENTER' keyword to GETMODE/SETMODE. See the
documentation section for more information.
- Added the following keywords to GETMODE/SETMODE for WebView2 support:
See the Documentation section for more information.
WEBMODEHTMLCTRL
WEBMODEPLF
WEBMODEPWF
WEBVIEW2VERSION (GETMODE only)
-------------------------------------------------------------------------------
PLBEQU.INC
- This include has been updated for 10.5 objects and properties.
-------------------------------------------------------------------------------
PLBMETH.INC
- This include has been updated for version 10.5 objects and methods.
-------------------------------------------------------------------------------
SUNIDE.PLC
- Removed external editor support.
- Added initial support for WebObjects.
-------------------------------------------------------------------------------
DESIGNER.PLC
- Added support for WebObject.
- Consolidated new file functions using a dialog.
- Modified the toolbox window to support WebObjects.
- Corrected issues with windows being shown without be activated.
- Corrected issues in object array creation.
-------------------------------------------------------------------------------
EDITOR.PLC
- Added trapping of object errors during hot key assignment in
initialization.
- Corrected an F05 error when closing a read-only file.
- Added exception handling for NotifyDataChange and NotifyEmpty call
backs.
- Modified "nogo" logic in the CodeListVariable function.
- Added logic to ensure the correct editor id is set on a right click.
- Added routines to get and set bookmarks from a single string.
- Disable Replace in the shortcut menu if the file is read only.
-------------------------------------------------------------------------------
PROFILER.PLC
- No changes
-------------------------------------------------------------------------------
SCHEMAEDITOR.PLC
- No changes
-------------------------------------------------------------------------------
WATCH.PLC
- Modified to set WEBMODE default values.
-------------------------------------------------------------------------------
DBEXPLORER.PLC
- Modified to set WEBMODE default values.
-------------------------------------------------------------------------------