Date: 11-16-2018 Subject: RELEASE 10.1A Runtime Files These release notes pertain to the following programs or files: PLBCLICON 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 6) PLBCLIENT 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 6) PLBCLINET 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 6) PLBCON 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 6) PLBCONET 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 6) PLBNET 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 6) PLBSERVE 10.1Ab 16 Nov 2018 10.1.1.102 (Processed Server) PLBSERVET 10.1Ab 16 Nov 2018 10.1.1.102 (Threaded Server) PLBWEBSRV 10.1Ab 16 Nov 2018 10.1.1.102 (Processed Server) PLBWEBSRVT 10.1Ab 16 Nov 2018 10.1.1.102 (Threaded Server) PLBWIN 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 6) PLBCLICON5 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 5) PLBCLIENT5 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 5) PLBCLINET5 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 5) PLBCON5 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 5) PLBCONET5 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 5) PLBNET5 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 5) PLBWIN5 10.1Ab 16 Nov 2018 10.1.1.102 (ComCtl 5) PLBNETSUP.DLL 10.1Ab 16 Nov 2018 10.1.1.102 Required for PLBNET PLBWSEC.DLL 10.1Ab 16 Nov 2018 10.1.1.102 Req'd PLBWIN/PLBNET DBGIFACE 10.1Ab 16 Nov 2018 PLBCMP 10.1Ab 16 Nov 2018 *============================================================================== Notes for DOCUMENTATION: - In the PL/B Language Reference under the 'CUETEXT Property' section, 101Aa change the Notes as follows: Modify the Note (5.) as follows: 5. The CUETEXT property is only displayed by the Windows OS for a single line EDITTEXT control. Therefore, when an EDITTEXT is created and the CUETEXT property {value} is specified as a non-NULL string, the EDITTEXT is always created as a single line EDITTEXT. Add a Note (8.) as follows: 8. If an EDITTEXT is created as a multi-line edittext object, a SETPROP of the CUETEXT property has non affect on the Windows OS edittext control. - In the PL/B Language Reference under the 'EDITEXT' section, add a 101Aa Note (11.) that reads as follows: Note: 11. If an EDITEXT is created using a non-NULL CUETEXT property string value, the EDITEXT object is always created as a single line EDITTEXT. - In the PL/B Language Reference under the 'MULTILINE Property' section, 101Aa add a Note (8.) that reads as follows: Note: 8. If an EDITEXT is created using a non-NULL CUETEXT property string value, the EDITTEXT object is always created as a single line EDITTEXT and the MULTILINE property does not take affect. - In the PL/B Web Server under the 'Considerations' section, change the 101Aa Note (10.) as follows: Note (10.) Remove the TOOLBAR and STATUSBAR objects from the 'unsupported Objects' list. - In the PL/B Language Reference manual under the 'LEFT Property' section, 101Aa add a Note (4.) as follows: 4. When the PL/B Web Server, this property behaviors can change to be processed as a percentage when the 'SETMODE *PERCENTCONVERT' value is 1 or 2. See the 'SETMODE *PERCENTCONVERT' keyword description for more details. - In the PL/B Language Reference manual under the 'WIDTH Property' 101Aa section, add a Note (5.) as follows: 5. When the PL/B Web Server, this property behaviors can change to be processed as a percentage when the 'SETMODE *PERCENTCONVERt' value is 1 or 2. See the 'SETMODE *PERCENTCONVERT' keyword description for more details. - In the PL/B Language Reference manual under the 'TOP Property' section, 101Aa add a Note (4.) as follows: 4. When the PL/B Web Server, this property behaviors can change to be processed as a percentage when the 'SETMODE *PERCENTCONVERT=2' mode setting is used. See the 'SETMODE *PERCENTCONVERT' keyword description for more details. - In the PL/B Language Reference manual under the 'STATUSBAR' section, 101Aa change the Note (7.) to read as follows: Note: 7. Using the PL/B Web Server version 10.1A or newer, this PWS object is supported/simulated with the following limitations: a. The SIZEGRIP property is not supported. b. The AUTOSIZE property 'spring' setting only works for the last STATUSPANEL. Otherwise, the STATUSPANEL behavior uses 'content'. c. There is no right-click action. d. STATUSPANEL tooltips are not supported. e. New CSS classes are used a follows: 'plbsb' - StatusBar 'plbsbp' - StatusPanel BDRSYTLE pain text 'plbsbi' - StatusPanel BDRSTYLE inset (Sunken) 'plbsbo' - StatusPanel BDRSTYLE outset (Raised) 'plbsbz' - StatusPanel last panel with spring. f. Click event always returns a event result of zero. - In the PL/B Application Server manual in the 'Server Command Line' 101Ab section, add a new Note (27.) that reads as follows: Note: 27. When the PL/B Application Server is installed and loaded by the Windows Services Manager, there is an internal runtime option '-l' that must be used in the service command line. This '-l' option CAN NOT be used directly by an end-user in an Application Server command line to start the Windows service. - In the PL/B Web Server manual in the 'Server Command Line' section, 101Ab add a new Note (23.) that reads as follows: Note: 23. When the PL/B Web Server is installed and loaded by the Windows Services Manager, there is an internal runtime option '-l' that must be used in the service command line. This '-l' option CAN NOT be used directly by an end-user in a PL/B Web Server command line to start the Windows service. - In the PL/B Web Server manual under the 'SUNDM Keywords', add a new 101Ab named 'DM_OPENONCE_ALLOWREAD={on|off}' as follows: DM_OPENONCE_ALLOWREAD Keyword The DM_OPENONCE_ALLOWREAD keyword only takes affect when the Data Manager is executing with the 'open once' mode turned on. This keyword can be set in the Data Manager configuration to allow Data Manager files to be opened directly in READ only mode by programs not using the Data Manager. This keyword replaces the 'DM_OPENONCE_SHARED' keyword. DM_OPENONCE_ALLOWREAD 1. The default setting when this keyword is NOT used is the same as when 'DM_OPENONCE_ALLOWREAD=OFF'. 2. This keyword DOES NOT take affect if the 'DM_ONCEONCE=OFF' is used. 3. Only support by Windows OS Data Manager. DM_OPENONCE_ALLOWREAD=OFF 1. The Data Manager opens data files with read/write access privileges. 2. The Data Manager locks the data files to prevent the possibility of changes to the managed data files by any 3rd party Windows programs. 3. Plbwin runtimes must use the Data Manager to open managed data files. Otherwise, an appropriate I10 error occurs. 4. Windows Opportunistic Locking can be used by the Windows OS. DM_OPENONCE_ALLOWREAD=ON 1. Data Manager data files are opened in exclusive mode. 2. Windows Opportunistic Locking is not used when an OS mapped drive is being used. 3. Plbwin runtimes can directly open data files using READ only mode without using the Data Manager while the same files are opened by the Data Manager. - In the PL/B Web Server manual under the 'SUNDM Keywords', change the 101Ab 'DM_OPENONCE_SHARED' to read as follows: The 'DM_OPENONCE_SHARED' keyword is replaced by the 'DM_OPENONCE_ALLOWREAD' keyword in release 10.1A. Note: 1. The 'DM_OPENONCE_SHARED=ON' is the same as 'DM_OPENONCE_ALLOWREAD=OFF'. 2. The 'DM_OPENONCE_SHARED=OFF' is the same as 'DM_OPENONCE_ALLOWREAD=ON'. 3. See 'DM_OPENONCE_ALLOWREAD Keyword' for details. - In the PL/B Language Reference manual under the 'GETIEM and SETITEM 101Ab Objects' section, remove the MAINWINDOW and PANEL. - In the PL/B Language Reference manual under the READONLY property 101Ab section, modify the following notes: Modify Note (1.) to read as follows: "1. READONLY may be used in CREATE or GETPROP statements of an EDITTEXT, EDITNUMBER, or RICHEDITTEXT object. Also, the SETPROP statement can be used to change the READONLY property ONLY when using one of these Windows runtimes ( Plbwin, Plbnet, or Plbclient/Plbserve ). Add a new Note (5.) as follows: "5. When using the PL/B Web Server, the READONLY property for the PWS EDITNUMBER can not be turned on or off using the SETPROP instruction. Also, when using the PWS EDITNUMBER with the READONLY property turned on and the UPDOWNALIGN property set to $UPDOWNALIGNLEFT or $UPDOWNALIGNRIGHT, the up/down control actions continue to change the value of PWS EDITNUMBER by the client browser." - In the PL/B Language Reference manual under the STATIC property 101Ab section, modify the following notes: Modify Note (1.) to read as follows: "1. STATIC may be used in CREATE, SETPROP, or GETPROP statements of the EDITTEXT and EDITNUMBER objects." Add a new Note (5.) as follows: "5. When using the PL/B Web Server, the PWS EDITNUMBER with the STATIC property turned on does not allow this object to obtain the focus by a user tabbing action. Otherwise, the behaviors of the PWS EDITNUMBER with the STATIC property turned on is the same as the READONLY property behaviors." - In the PL/B Runtime Reference manual under the 'M (MailSend) Errors' 101Ab section, change the following: Modify the 'sss' table as follows: Swap the descriptions for the subcode 83 and 84 value. Add the following to the 'sss' table 47 Null variable not allowed for MAILSEND parameter 85 Unexpected error during receive operation - In the PL/B Language Reference manual under the 'WINTYPE Property' 101Ab section, add a Note (8.) as follows: Note: 8. When CE window types are being used under the PL/B Web Server runtime, one of the CSS classes named 'ce8', 'ce9', 'ce10', or 'ce11' is applied to the PWS WINDOW. These classes are declared in the 'plbwebbasic.css'. These classes are used to invoke specialized Windows CE behaviors which are applied to the PWS WINDOW object as follows: 'ce8' - Reserved for future use when WINTYPE=$CEMODALNOMENU. 'ce9' - Reserved for future use when WINTYPE=$CEMODELESSNOMENU. 'ce10' - CSS styles used when WINTYPE=$CEFIXEDNOMENU. This class causes the WINDOW object to be positioned to the TOP/LEFT position of 0/0. 'ce11' - CSS styles used when WINTYPE=$CESIZEABLENOMENU. This class causes the WINDOW object to be positioned to the TOP/LEFT position of 0/0. - In the PL/B Language Reference manual, add a new method named 101Ab 'CheckHost' to the RUNTIME object described as follows: *------------------------------------------------------------------ The CheckHost method will check to see if a specific internet host address exists. The method uses the following format: [label] {object}.CheckHost [GIVING {return}]: USING [*HostName=]{hostbname}[: [*Port=]{port}][: [*TImeout=]{timeout}][: [*Options=]{mask}] Where: label Optional. A Program Execution Label. object Required. A RUNTIME object. return Optional. A Numeric Variable that returns the pass\failure values for the execution of the method. hostname Required. A previously defined Character String Variable or literal that contains the host name or IP address that is being checked. port Optional. A Numeric Variable or decimal number that identifies the port to be tested. timeout Optional. A Numeric Variable or decimal number that identifies the number of seconds to wait. options Optional. A Numeric Variable or decimal number that specifies a bit mask value that controls the behaviors of this method. Flags Affected: OVER, ZERO Note the following: 1. The ZERO flag is always set when the {return} value is zero which indicates that the method execution was successful. The ZERO flag is cleared if the {return} value is not zero which indicates that the method execution failed. 2. The OVER flag is set to TRUE if the hostname was not found and FALSE if the hostname was found. 3. If the optional port parameter is given, then the CheckHost method attempts to connect to the host using that port number. 4. If the optional port parameter is not given, the CheckHost method uses the Internet Control Message Protocol (ICMP) to 'ping' the host name. This is be tried 4 times before an error is given. 5. The timeout parameter specifies the number of seconds to wait checking. If no value is given or the value is 0, then 100 milliseconds is used. 6. If the {return} value is non-zero indicating a failure the follow failure results can be expected: Failure Values Comment (Using Ping mode without {port}) 1 - Unable to create/setup socket. 2 - Unable to resolve {hostname} ip. 3 - Send error. 4 - Select error. 5 - Timeout occurred. 6 - Receive error. Failure Values Comment (Using connect mode with {port}) 1 - Unable to make socket connection. 3 - Unable to resolve {hostname} ip. 7. The options parameter is reserved for future use. *============================================================================== The following files have been changed as noted: ------------------------------------------------------------------------------- PLBSERVE - Removed the '-l' option from the PL/B Application Server help screen. The 101Ab '-l' command option is ONLY used when the PL/B Application Server is loaded via the Windows Service Manager. This option CAN NOT be specified/used directly by an end-user. - Corrected a problem where a memory leak would occur when a PL/B program 101Ab executed an AdmLogOff instruction while accessing the PL/B Application Server Administrative Services. If an excessive number (>64,000) of AdmLogOff instructions were executed, the PL/B Application Server could encounter unexpected OS memory allocation errors resulting in indeterminate behaviors. ------------------------------------------------------------------------------- PLBWEBSRV (HTML\JS\CSS) - Modified to support 10.1 changes. plbwebbasic.css 10.1A 181114 plbwebbasic.js 10.1 180611 plbwebctls.js 9.9A 170302 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 plbwebstart99a.html 9.9A 170428 - Added classes to support STATUSBAR. 101Aa - Modified the 'plbwebbasic.css' to include the classes named 'ce8', 101Ab 'ce9', 'ce10', and 'ce11' used when the WINTYPE CE values are being used for a WINDOW object. ------------------------------------------------------------------------------- PLBWEBSRV - Added the STATUSBAR object to the PL/B Web Server with the following 101Aa limitations: 1. The SIZEGRIP property is not supported. 2. The AUTOSIZE property 'spring' setting only works for the last STATUSPANEL. Otherwise, the STATUSPANEL behavior uses 'content'. 3. There is no right-click action. 4. STATUSPANEL tooltips are not supported. 5. New CSS classes are used a follows: 'plbsb' - StatusBar 'plbsbp' - StatusPanel BDRSYTLE pain text 'plbsbi' - StatusPanel BDRSTYLE inset (Sunken) 'plbsbo' - StatusPanel BDRSTYLE outset (Raised) 'plbsbz' - StatusPanel last panel with spring. 6. Click event always returns a event result of zero. - Added the WEBCLASS, WEBHEIGHT, WEBWIDTH, WEBLEFT, WEBTOP, and 101Aa WEBPOSITION properties to the PWS STATUSBAR and TOOLBAR objects. - Modified the PWS EDITTEXT and EDITNUMBER objects to allow the 'KeyPress' 101Aa event to execute with the same behavior as when the PLBWIN runtime is used. - Modified the GETMODE and SETMODE instructions to support a new keyword 101Aa named *PERCENTCONVERT. The *PERCENTCONVERT keyword is ONLY used by the PL/B Web Server runtime and it has no affect for all other PL/B runtimes. *PERCENTCONVERT (GETMODE) *PERCENTCONVERT={value} Where: {value} Required. A previously defined Numeric Variable. The *PERCENTCONVERT returns the mode value used by the PL/B Web Server to convert the PWS object positions into a percentage. The returned values are described as follows: Value Description 0 This is the default if the *PERCENTCONVERT is not used. In this case, PWS object positions are not converted. n Any non-zero value causes the LEFT position and the WIDTH for a PWS object to be converted into a percentage relative to the width of its parent. 2 This value causes the LEFT, WIDTH, and TOP property values for a HTML object to be converted into a percentage relative to the width and height of its parent. Note: 1. When the {value} is set to a non-zero value, the following PL/B statement behaviors occur as follows executing on a PWS runtime: a. A CREATE or FORMLOAD of a PWS object converts a LEFT and WIDTH property value to a WEBLEFT and WEBWIDTH property value as a percentage position. This only happens when both of these conditions are meet: 1) The WEBLEFT and WEBWIDTH properties do not have a user specified preexisting property value. 2) The percent calculates to a value from 1% to 100%. b. A SETPROP of a PWS object converts a LEFT or WIDTH property value to a WEBLEFT or WEBWIDTH property value as a percentage position. This only happens if the percent calculates to a value from 1% to 100%. c. The percentage position values are retrieved by a GETPROP on WEBLEFT or WEBWIDTH property. d. When the {value} is set to be 2, the same behaviors are also applied for the CREATE, FORMLOAD, GETPROP, and SETPROP using the TOP and WEBTOP properties. *PERCENTCONVERT (SETMODE) *PERCENTCONVERT={value} Where: {value} Required. A previously defined Numeric Variable or decimal value. The *PERCENTCONVERT sets the mode value used by the PL/B Web Server to convert the PWS object positions into a percentage. The values are described as follows: Value Description 0 This is the default if the *PERCENTCONVERT is not used. In this case, PWS object positions are not converted. n Any non-zero value causes the LEFT position and the WIDTH for a PWS object to be converted into a percentage relative to the width of its parent. 2 This value causes the LEFT, WIDTH, and TOP property values for a HTML object to be converted into a percentage relative to the width and height of its parent. Note: 1. When the {value} is set to a non-zero value, the following PL/B statement behaviors occur as follows executing on a PWS runtime: a. A CREATE or FORMLOAD of a PWS object converts a LEFT and WIDTH property value to a WEBLEFT and WEBWIDTH property value as a percentage position. This only happens when both of these conditions are meet: 1) The WEBLEFT and WEBWIDTH properties do not have a user specified preexisting property value. 2) The percent calculates to a value from 1% to 100%. b. A SETPROP of a PWS object converts a LEFT or WIDTH property value to a WEBLEFT or WEBWIDTH property value as a percentage position. This only happens if the percent calculates to a value from 1% to 100%. c. The percentage position values are retrieved by a GETPROP on WEBLEFT or WEBWIDTH property. d. When the {value} is set to be 2, the same behaviors are also applied for the CREATE, FORMLOAD, GETPROP, and SETPROP using the TOP and WEBTOP properties. - Removed the '-l' option from the PL/B Web Server help screen. The '-l' 101Ab command option is ONLY used when the PL/B Web Server is loaded via the Windows Service Manager. This option CAN NOT be specified/used directly by an end-user. - Add a CSS class named 'ce8', 'ce9', 'ce10', or 'ce11' to any PWS WINDOW 101Ab object with a WINTYPE with a value of $CEMODALNOMENU, $CEMODELESSNOMENU, $CEFIXEDNOMENU, or $CESIZEABLENOMENU. These CSS classes are declared in the 'plbwebbasic.css'. - Modified the PL/B Web Server to automatically add a 'z-index' value of 101Ab 20 when a non-modal window becomes active. Also, the 'z-index' value of 10 is set when a non-modal window is deactivated. This change corrects a problem where all of the HTML objects for two WINDOW objects were showing as merged objects when one window was placed on top of a second window. - Corrected a problem where the PWS EDITTEXT/EDITNUMBER 'KeyPress' event 101Aa was not executing the 'KeyPress' PL/B event routine when the keyed character was an 'Enter' key. - Corrected a problem where a PWS BUTTON with the DEFAULT property could 101Aa cause unexpected click events. - Corrected a problem where a memory leak would occur when a PL/B program 101Ab executed an AdmLogOff instruction while accessing the PL/B Web Server Administrative Services. If an excessive number (>64,000) of AdmLogOff instructions were executed, the PL/B Web Server could encounter unexpected OS memory allocation errors resulting in indeterminate behaviors. - Corrected a problem where a PWS EDITNUMBER object was starting in a 101Ab disabled mode and a 'SETPROP ENABLED=$TRUE' would not enable the object. ------------------------------------------------------------------------------- PLBWIN, PLBNET - Corrected a problem that could cause PLF form load errors in the PL/B 101Aa Designer. The symptom for this problem was an 'I83 subcode 216' error when the PL/B Designer was loading a PLF form. This problem could occur indeterminately depending on the current memory usage when the PL/B Designer was executing. - Corrected a problem for a JQueryEvent issue that was causing a 101Ab PL/B Designer problem where the JQueryEvent event could not be set for the HTMLCONTROL object. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, PLB(UNIX), PLBWEBSRV - Corrected a problem where the MAILSEND instruction was reporting an 101Ab error subcode value of '40' when an unexpected NULL variable was being used for some keyword parameter. With this correction, a Mxx error subcode value of 47 is now generated and described as follows: 47 Null variable not allowed for MAILSEND parameter. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, PLB(UNIX), PLBWEBSRV, ALL GUI CLIENTS - Added a new RUNTIME object method named 'CheckHost'. This keyword can 101Ab be used to determine if an internet host address exists. See the Documentation section for details of the 'CheckHost' method. ------------------------------------------------------------------------------- PLBWIN, PLBNET, ALL GUI CLIENTS - Modified the HTMLCONTROL to suppress the context menu which would 101Ab appear upon a right-click user action before this change was made. - Corrected a problem for the EDITNUMBER where updown control actions were 101Ab causing the EDITNUMBER value to be changed when the READONLY or STATIC property was turned on. - Corrected a problem where a 'backspace' operation was changing the 101Ab contents of a RICHEDITTEXT with the READONLY property set to the TRUE state. ------------------------------------------------------------------------------- PLBCMP - Added the WEBCLASS, WEBHEIGHT, WEBWIDTH, WEBLEFT, WEBTOP, and 101Aa WEBPOSITION properties to the PWS STATUSBAR and TOOLBAR objects. - Modified the GETMODE and SETMODE instructions to support a new keyword 101Aa named *PERCENTCONVERT. The *PERCENTCONVERT keyword is ONLY used by the PL/B Web Server runtime and it has not affect for all other PL/B runtimes. GETMODE *PERCENTCONVERT={nvar} SETMODE *PERCENTCONVERT={dnumnvar} - Corrected a problem where the 'ELSE' structure statement would give an 101Aa unexpected compiler error when using the 'ZR' option specifying User Comment delimiters. Example 'prog' of Unexpected Compiler Error: IF ZERO ... ELSE ; Comment ... ENDIF . . Execute this command line in a command shell . plbcmp prog -zr#";" . . Gave this error before the 10.1A correct: . ELSE ; Comment * Invalid user comment identifier! . - Corrected a problem where the compiler was giving an unexpected 101Ab error for a GETITEM using a TABCONTROL and an array syntax for the {data} parameter. GETITEM {object}, {item}, {data} Example of compiler error that has been corrected: TC TABCONTROL . tabNumber form 1 tabName dim 20(3) . getitem TC,tabNumber,tabName(2) * Space required as statement terminator. - Corrected a PL/B expression problem where the compiler was allowing 101Ab math operators using DIM variables. This problem would generate an expression that would cause indeterminate PL/B program operations. With this correction, the compiler now generates an appropriate compiler error when DIM variables are used with math operators. ------------------------------------------------------------------------------- PLBEQU.INC - Modified for PWS StatusBar object. 101Aa ------------------------------------------------------------------------------- PLBMETH.INC - Modified for PWS StatusBar object. 101Aa ------------------------------------------------------------------------------- SUNIDE.PLC - Corrected issue with display of the shortcut menu for the sources treeview. - Implemented an IDE option to allow the source/labels find panel to be hidden. - Corrected I81 error that occurs when a string including a single quote was copied to the clipboard. ------------------------------------------------------------------------------- DESIGNER.PLC - Added the STATUSBAR object for web forms. - Included the WEBCLASS, WEBHEIGHT, WEBWIDTH, WEBLEFT, WEBTOP, and WEBPOSITION properties for the TOOLBAR and STATUSBAR objects. - Enabled TABID Renumbering for web forms. - Corrected an issue in the version comparison logic. - Corrected a problem where the 'JQueryEvent' for the HTMLCONTROL object 101Ab did not work in the PL/B Designer. ------------------------------------------------------------------------------- EDITOR.PLC - Added file's last modified time to the status bar. ------------------------------------------------------------------------------- DBGIFACE.PLC - Corrected issue with the Data menu. - Corrected highlighted line tracking. ------------------------------------------------------------------------------- SCHEMAEDITOR.PLC - Corrected field validation logic in the index addition routine. ------------------------------------------------------------------------------- WATCH.PLC - Modified the version field display to accomodate a longer string. - Added version numbers to clients list display. -------------------------------------------------------------------------------