**************** WinBatch+Comiler 2020B (Beta) Release ****************

Started by td, July 01, 2020, 11:19:17 AM

Previous topic - Next topic

td

At it again. We have released a new beta version of WinBatch+Compiler. We have released WinBatch+Compiler 2020b beta.

Customers with a current license may download the beta version of the software from the download page.  Find beta software in the Alternatives
download list.

https://www.winbatch.com/download.html

If you do not have a current license and are interested in updating WinBatch+Compiler and extenders, please visit our software purchase page. You can easily order online.

https://commerce.winbatch.com





WB 2020B Jul 01, 2020 (beta)   

DLL 6.20btb First appearing in WB 2020B
   
   Addressed problem that caused the WIL debugger to display a memory error when creating a
   WIL Map in a debugging session.

   Added support for the ULONG64 data type name in structure descriptor strings passed to the
   DllStructAlloc function. The ULONG64 data type represents an unsigned 64-bit integer. Like
   other 64-bit data types, ULONG64s must be represented by text strings when passed to the
   DllStructPoke function.  Likewise, DllStructPeek returns ULONG64 structure members as text
   strings.
   
   Fix WIL map assignment statement parsing issue by detecting an undefined WIL Map key when
   the key is from an undefined element of an array and the array variable is a pointer to the
   array. The WIl parser now generates an error message instead of changing the variable
   containing the WIL Map into a variable containing the value on the right-hand side of the
   assignment statement.

   Addressed problem that caused variant variables of type VT_INT to not be recognized as
   integers in relational expressions.  This error caused an unexpected "3057: Variable
   could not be converted to a valid number" error when a variant value with the variant
   type VT_INT appeared in a relational expression.

   Fixed issue that caused the Dialog function to return without displaying the dialog or
   generating an error when the dialog template contained an invalid dialog background
   color descriptor.
   
   Modified the WinBatch Navigator script to use the new ShellExecuteWait function instead of
   the RunWait function to prevent launch errors of Roboscripter and other executables on a few
   systems.

   New functions:
    MapKeysGet( m:map, n:return-type[, s:delimiter] )
     Returns all the keys stored in a WIL map.
       map:         a variable containing a WIL map.
       return-type: 1 = return an array, 2 = return a delimited list
       delimiter:   (optional) one character delimiter used when list is returned. Defaults to
                    a tab character.
   
    MapValuesGet( m:map, n:return-type[, s:delimiter] )
     Returns all the values stored in a WIL map.
       map:         a variable containing a WIL map.
       return-type: 1 = return an array, 2 = return a delimited list. Non-convertible values are
                    skipped in the returned delimited list.
       delimiter:   (optional) one character delimiter used when a list is returned. Defaults to
                    a tab character.
   
    ShellExecuteWait(s:program-name, s:params, s:directory, n:display mode, s:operation)
     Returns @True when a new process is started and the script calling the function is paused
     while the new process is executing. This function is identical to the ShellExecute WIL
     function in all other respects. Note that it is possible for the function to successfully
     perform the task indicated by the parameters but not pause the script.  This can happen when
     the indicated task does not start a new process.  The function indicates that the script is
     not paused by returning immediately with a value of @False.
       program-name: the name of the desired .EXE, .COM, .PIF, .BAT, .CMD file or a data file.
       params:       optional parameters as required by the application.
       directory:    current working directory (if applicable).
       display mode: @NORMAL, @ICON, @ZOOMED, @HIDDEN, @NOACTIVATE, or 0 for the default mode.
       operation:    operation to perform on the specified file.


   Added 3 new REPORTVIEW control request-codes to the DialogControlGet function.
     @dcItemcColor (29) - (l) Returns a string containing two color descriptors for a REPORTVIEW
                          control item's text and background color.  Each color descriptor
                          consists of 3 vertical bar(|) delimited numbers representing the
                          color's red, green, and blue values.  The 2 color descriptors are
                          separated by a space character delimiter.  The function's
                          "request-value"  parameter must contain a string consisting of the
                          one-based row and column numbers of the control item whose colors are
                          to be returned. The two numbers representing the row and column must be
                          delimited by a comma(,).

     @dcItemRow (30)    - (i) Returns the one-based row number of column 1, the left-most
                          column, of the REPORTVIEW item whose text matches the text placed in
                          the function's "request-value" parameter.
                          Note that if more than one first column item of a control contains
                          the same value, the "request-value"  parameter may need to contain a
                          tab-delimited list of multiple occurrences of the targeted item's
                          text.

     @dcItemText (31)   - (s/l) Returns the text of column 1, the left-most column, of the
                          REPORTVIEW item whose row number matches the number placed in the
                          function's "request-value"  parameter.
                          Note that if more than one first column item of a control contains
                          the same value, the returned text may contain a tab-delimited list
                          of multiple occurrences of the targeted item's text.

   Added a new REPORTVIEW control request-code to the DialogControlSet function.
     @dcItemcColor (29) - (l) Sets the text and background colors of a REPORVIEW control item.
                          The item and colors are indicated by placing a 4 item space character
                          delimited list in the function's set-info parameter. The list's 4
                          items consist of the one-based row number, the one-based column number,
                          a text color descriptor, and a background color descriptors.  The color
                          descriptors can consist of 3 vertical bar(|) delimited numbers or a
                          single hexadecimal number preceded by the letter "h" representing the
                          color's red, green, and blue values. Three-row values have special
                          meaning:
                          -1 color the indicated column of each odd-numbered row.
                          -2 color the indicated column of each even-numbered row.
                          -3 color the indicated column of every row.
                          One column value has a special meaning:
                          -1 color all columns of the indicated row.

   Enhanced WIL Dialog's REPORTVIEW control to load and display the contents of WIL maps. The
   control accepts a WIL map in its template variable and from the DialogControlSet function
   when using the @dcContents request-code.

   Modified the dialog function and WIL Dialog Editor to accept a single hexadecimal RGB color
   value anywhere that a bar (|) delimited RGB color values are used. The hex value must be
   preceded by the letter "H" or "h" to be recognized as a valid RGB value. Bar delimited RGB
   values are still fully supported.
   
   WinBatch Studio and WinBatch Compiler Lexical Analyzer changes:
    Enabled detection of user-defined-procedures redefinition.
   
    Added parameter count checking to user-defined-procedure calls.
   
    Object members for both COM and dotNet object names longer than 30 characters no longer
    generate syntax errors.
   
    Address problem the cause the WinBatch Studio breakpoint command to be flag as an unexpected
    item.

   WinBatch Console:
    Corrected problem that prevented errors occurring inside user-defined-procedures from being
    displayed at the console command line.

    Added new #DefineCommand ... #EndCommand preprocessor statements. Use these two statements
    to create a WinBatch Console only user-defined-command.  User-defined-commands share scope
    rules with user-defined-subroutines but are only callable from WinBatch Console and are
    ignored by WinBatch. The other unique feature of UDCs is their syntax. UDCs are both defined
    and called without opening and closing parentheses. They also use white space instead of
    commas to separate parameters. 


"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

JTaylor

Excellent.  Glad to see some more dialog enhancements.   Also, I can stop trying to figure out how to get the colors to work via my Extender :)

Appreciate all the good work you continue to do.


Jim

kdmoyers

Man this is great.  Can't wait till I get time to dig in. 

On my big reportview program, I may actually take time to swap out the old colored-images trick, which works but is kinda complicated in the code, for colored text/background, which will be 10x cleaner. 

Thanks!


The mind is everything; What you think, you become.

td

Make sure to let us know right away when you find the first bug...
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

kdmoyers

The mind is everything; What you think, you become.

JTaylor

A documentation issue...an extra "c" in the Constant name.

@dcItemcColor (29)

I have tried most if not all the Dialog and Map additions and everything works fine.   Obviously haven't tried all the things possible but guess no one can do that :)

Any plans to add to these options like the following?   Maybe before general release?   


  • Row Count.   
    Item Text for specified cell or tab delimited row text.   
    Get/Set Selection state for specified row.   
    List of row numbers matching specified row state. 
    Scroll based on row number and not just into view but at the top and maybe with an offset option.   

These I have found useful in what I implemented and therefore I also know they are extremely easy to implement.

Again, appreciate the good work.

Jim

td

Quote from: JTaylor on July 02, 2020, 03:11:17 PM
A documentation issue...an extra "c" in the Constant name.

@dcItemcColor (29)

Thanks.  Copy & paste editing is almost a dangerous as copy & paste programming.

Quote
Any plans to add to these options like the following?   Maybe before general release?   

ILC adheres to the traditional definition of beta software; feature-complete with only bug fixes and performance enhancement before general release.  This approach works out the best for both users and developers. Your requests are noted.

"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

JTaylor

Interestingly enough the way I caught it was I copied and pasted the Constant name into a script from the Help file :)

I know but we often have not because we ask not.

Jim

stanl

My license expired the day before the Beta was released so will wait for final release before renewing. From what I'm reading here sounds like a good investment.