Please enable JavaScript to view this site.

A-Shell Development History

951.2.1   INFLD

The INSERT key was not working in INFLD (to toggle between insert and overwrite modes).

951.2.2   XTEXT

XTEXT fixes/enhancements:

TXC'WRAPWIDTH was not working.
TXC'SRCHKEY is now supported (for application-initiated searching)
TXC'SFLAGS (B,2) field added, for search options. The updated XTEXT.MAP file shortened the original TXC'SRCHKEY field from 32 to 30 bytes to make room for TXC'SFLAGS.
TXF_POSCUR flag added, to allow initial cursor position to be specified via the TXC'XCOL, TXC'XROW and/or TXC'XCUROFFSET parameters.

The XTX1.BP sample program (along with ashell.def and xtext.map) have been updated and are available from the a-shell.net "Latest" page.

951.2.3   INFLD, ATE

INFLD was locking up under ATE when a combo box had more than 512 characters.

(WINDOWS/ATE) Fix several problems relating to XTEXT and ATE. Also update the sample program XTX1.BP to build 101 (can be downloaded separately from the a-shell.net "Latest" page).

951.0.1   XTEXT.SBR

XTEXT.SBR introduced, to support a wider range of text-editing capabilities than the existing multi-line INFLD. XTEXT, as its name might suggest, is similar in design and parameter structure to XTREE, and like XTREE, is wrapped around a commercial control that is housed in TER13.DLL (which must be in the same directory as ASHW32.EXE).

The documentation is currently available separately from microsabio.com, and a sample program, XTX1, is included in the release and in the EXLIB in [908,40].

951.0.2.   AUI_EVENTWAIT

AUI_EVENTWAIT supports a new flag: EVW_EXCDINOUT (&h40000) which is similar to EVW_EXCDFOCUS but just causes any incoming EXITCODE value of -100 or less to be "passed through" (i.e. returned directly) to the application. This is useful (in conjunction with EVW_EXCDFOCUS) for responding to button clicks that occur while INFLD has the focus. For example, you might have a structure like this:

 

do

   xcall AUI,AUI_EVENTWAIT,CTLID,PARENTID,EXITCODE,OPFLAGS

 

   if <exitcode to exit dialog>

      exit

   else

      call <field handler based on exitcode>

loop

 

With just EVW_EXCDFOCUS alone, if the use clicks on a button while INFLD has the focus (in the "field handler" above), the subsequent EVENTWAIT would put merely put the focus on the button without triggering it. (The first click would trigger an exit from the current INFLD, but it would take a second click on the button to invoke the "field handler" for the button, using the logic above.) With EVW_EXCDINOUT added to the OPFLAGS, the button click would cause the "field handler" to exit, as before, but now the EVENTWAIT would also exit, so that the new "field handler" for the button could be called. This is not an issue when clicking on an INFLD field, because the combination of EVW_INFLD+EVW_EXCDFOCUS would cause any attempt to put the focus on an INFLD field to just exit from the EVENTWAIT so that INFLD could be called.

Note that one situation where you might not want EVW_EXCDINOUT is if you want to explicitly put the focus on a button by specifying its EXITCODE, without forcing the button to get clicked.

951.0.3   XTREE

XTREE now supports three-state checkboxes. To specify, add column code "3" to the existing "t" (display only) or "T" (editable) check column code, and use the value "2" in the array to indicate the indeterminate state (instead of "0" for unchecked or "1" for checked.)

951.0.4   ATE, XTREE

Fix a bug in the ATE wrapper for XTREE which allowed memory after the XTRCTL parameter to be overwritten if the mapped XTRCTL was smaller than the internal defined structure size.