Please enable JavaScript to view this site.

A-Shell Development History

1166.9

INFLD GUI bug fix: INFLD controls stopped working properly in 1166.6.

1166.8

XTREE enhancement: expand the table of RGB color definitions (RGBbg=, RGBfg=) from 26 to 52 (A-Z, a-z).

1166.7

AUI_EVENTWAIT bug fix: EVW_NUMERIC was not working (was returning 0 rather than the value keyed in).

1166.6.1

EZVUE refinement: the cursor state (shape and blink option) is now saved and restored. Previously on exit from EZVUE, blink was turned off.

1166.6.1

AUI_MENU enhancement: remove limit of 250 menu items. The menu table now expands automatically as needed.

1166.6.1

AUI_CONTROL enhancement: remove limit of 600 controls. The control table now expands as needed (and starts out much smaller, freeing up about 500K of Windows heap memory for programs using less than 100 controls).

1166.6.1

AUI_EVENTWAIT bug fix: eliminate problem where it was intermittently returning exitcode 99 (error) when called with EVW_NOFOCUS. (It was trying to validate the parentid/controlid parameters before noting that it doesn't matter when EVW_NOFOCUS is specified.)

1166.5.1

XGETARG / XPUTARG bug fix: passing a F,6 variable to an XCALL expecting to receive an X variable, and vice versa, wasn't doing a raw copy. (Thus if the X variable was overlaid by an F,6 the resulting value wasn't matching the passed value).

1166.5.2

XPUTARG refinement: passing an F,6 variable when the caller was expecting an S was resulting in the correct value, but wasn't formatted in the same way you would expect when assigning an F to an S (typically unneeded trailing zeroes or the wrong significance). (Same refinement as in 1164.4, but in a different context.)

1166.4

XTREE refinement: minor optimization in the initial display logic, eliminating a "flash" caused by double-drawing.

1166.3.1

XTREE refinement: close a further CPU bottleneck during the initial load of a large tree. (Shaved about 90% off the load time for a sample tree with 6000 items and 25 columns.)

1166.3.2

TPRINT/DPRINT bug fix: fix further problem with main window transparency.

1166.1

XTREE refinement: close a CPU bottleneck in pre-processing XTREE array data (server side in case of ATE) when the rows don't have trailing nulls.

1166.0.1

MBF_STATIC refinement: the default BGC value of -2 (NUL_BGC) is now taken to mean transparent, rather than "theme background". 99% of the time this is what people wanted, but when the parent window background color did not match the expected static text theme background (gray), you ended up with unwanted gray backgrounds for your static text.

1166.0.2

TPRINT/DPRINT refinements: these now appear with transparent backgrounds rather than the standard theme (gray) background. See previous item above. Note that in the ATE environment, updating either the server or the client should be sufficient for this enhancement to take effect in most windows, but to work in dialogs and tab controls with explicit RGB colors, you will need to update both the client and server side. (Updating just one will probably retain the status quo.)

Also note that you may now force TPRINT/DPRINT to override the default color scheme by first using TAB(-2,x+64) and/or TAB(-3,x+64) to establish default foreground/background colors. (This is consistent with the rule used by MBF_STATIC to decide whether to override the theme colors. Note, however, that this effect is controlled on the server side for ATE.

1166.0.3

Floating point rounding refinement in VAL(), INT(), FIX(), and USING:

Normally, in order to more closely mimic the floating point rounding idiosyncrasies of AMOS, A-Shell converts floating point values to 48 bit within the above mentioned functions, which is fairly effective at eliminating deviations between AMOS and A-Shell when floating point numbers are not carefully rounded at the application level. But, it no longer does this for values larger than 99,999,999,999 since they cannot be stored in 48 bit floating point format without losing part of the integer value. (Note, however, that this only extends the useful maximum number from 11 digits to about 16, since after that even 64 bit floating point won't be able to hold them.)

1166.0.4

Line drawing character bug fix: tab(-1,52)/tab(-1,53) (double horizontal and double vertical lines) were displaying as some kind of garbage characters when not in OEM font mode. Now, they are converted to the single line equivalent when using the ANSI character set and not beveling (because the ANSI character set does not have these symbols). In beveling mode, they are emulated in a way consistent with the other beveled line characters.