Mouse events

New onMouseOver( ) and onMouseOut( ) events for all form components, Form and Subform.

Both events receive the following parameters: flags, col, row

The onMouseOver( ) event fires when the mouse enters a control, form, or subform

The onMouseOut( ) event fires when the mouse leaves a control, form, or subform

col and row values for all mouse events

The col and row values passed to all mouse events have been changed to use standard signed mouse coordinates instead of unsigned values. dBL Code to adjust unsigned values to signed values is no longer needed.

Grid Class

New grid column control events: beforeCellPaint( ) and onCellPaint( )

These events allow a grid cell's color, font, and other attributes to be modified on a cell by cell basis. The value to be displayed is accessible within these events and can be used to modify the cell conditionally.

These events are available for each of the GridColumn editor and heading controls:

columnEntryField

columnSpinBox

columnComboBox

columnCheckBox

columnEditor

columnHeadingControl

New grid property: grid.colorRowHeader to set the color of the row header.

The foreground color specifies the color of the indicator arrow or plus sign.

The background color specifies the row header background color.

The default setting is: WindowText/BtnFace

Grid can now be scrolled at design time.

This speeds grid design by making it possible to scroll a grid horizontally to bring a particular column into view. Once in view, if columns have been defined, you can click on the column to select it into the Inspector and directly modify the columns properties, methods, and events.

Project Explorer

dBASE Plus Project Explorer now supports creating deployers for dBASE applications using Inno Setup and ScriptMaker.

An "Inno" tab is now surfaced in the Project Explorer for non-web projects that can be used to create Inno Setup installers using ScriptMaker.

TreeView

Modified TreeView so that expanding or collapsing a tree node (clicking on + or -) does not change the currently selected item (unless the currently selected item is among those being collapsed).

Modified canExpand and onExpand events

treeview.canExpand and treeview.onExpand events now receive a parameter, oItem, providing an object reference for the treeitem whose + or - has been clicked.

Expanding or collapsing a TreeItem

Expanding or collapsing a TreeItem by clicking on its + or - no longer selects the item that is expanded or collapsed. THIS MAY REQUIRE CHANGES TO EXISTING CODE.

TreeView control can now display images using more than 16 colors.

Images using anywhere from 4 bit color up to 32 bit color are now supported.

Array Class

Array.dir( ) and array.dirext( ) can now return a file count greater than 32K

Report

The default value of the report autoSort property has been changed to 'false'. Previously, it was 'true'. THIS MAY REQUIRE CHANGES TO EXISTING REPORTS

Inspector

Inspector defaults changed to increase size and expand categories

_app Object

New _app method:.executeMessages( )

Allows a dBASE Plus program to respond to mouse, keyboard, and other events while running a lengthy process instead of having to wait until the process completes

_app.frameWin

New methods: hasHScrollBar( ) and hasVScrollBar( ).

These methods allow a form to more accurately determine how much room is available within the frame window.

The hasHScrollBar( ) method returns True if the frame window has a horizontal scrollbar.

The hasVScrollBar( ) method returns True if the frame window had a vertical scrollbar.

Procedure files

SET PROCEDURE TO <procedurefile> has been changed to assume ADDITIVE was specified.

Report Designer

The detailBand, headerBand, and footerBand are now visible in the Report Designer when they are empty (if their height is not zero).

The margins are now painted accurately to show the page edge.

In the left outline view the rectangle that used to be labeled as pageTemplate1 is now correctly labeled as: Available Page (report.pageTemplate1 margins)

The stream frame is no longer allowed to be resized larger that the margins of the pageTemplate.

A page-template margins rubber band is now available when clicking on the page-template area to allow setting the margins by resizing the rubber band rectangle.

Re-sizing the pageTemplate margins with the mouse now correctly sets the pageTemplate's margin properties rather than its height and width properties.

Error Handling

dBASE Plus now prevents inappropriate "Insufficient Disk Space" errors from occurring due to the BDE using truncated disk free space data.

Error handling in the dBASE Plus byte code interpreter has been enhanced to catch Memory Access Violation errors and provide file name, procedure, and line number information. Previously, these kinds of exceptions were triggering critical errors which displayed a message that dBASE or Windows had encountered an internal error. The additional information is helpful when diagnosing the source of the error.

CHOOSEPRINTER( ) and choosePrinter( )

The CHOOSEPRINTER( ) function and method have been enhanced to accept a second parameter which allows you to choose between displaying the Print Setup dialog and the standard windows Print dialog.

The default behavior of the printer object's choosePrinter( ) method has been changed so that when it is attached to a report object, it will default to displaying the standard Windows print dialog instead of the "Print Setup" dialog. In addition, choosePrinter( ) will now default any start and end page settings from the report object into the Print dialog. Any start and end page settings made in the dialog will be carried back into the report object.