Highlights

Upgraded Navigator’s file list to support searching for a file using an incremental search instead of a first character search.

Enhanced the stability and resource management of dBASE Plus by fixing several memory and resource leaks and by fixing some potential causes of instability within dBASE Plus.

Fixed the following issues that made it difficult to upgrade older DOS and 16 bit dBASE applications to dBASE Plus in:

- SET RELATION,  SET SKIP, and BROWSE commands

- USE … EXCLUSIVE command

Fixed crash that occurred when opening the Source Editor on Vista 64 bit or Windows 7 64 bit.

Added events to make it easier to code custom forms and custom controls and perform any needed cleanup:

- Added onOpen event to components that did not yet have it (Container and ReportViewer)

- Added onDesignOpen event to component that did not yet have it (ReportViewer)

- Added onClose event to all Form and Report components that did not already have it

- FIxed bug that prevented firing onClose() event in components contained within Container and Notebook objects

- Added new beforeRelease() event to Form, Report and component objects allowing a developer to more easily implement and manage cleanup for their subclassed forms and form components.  BeforeRelease() fires when an object is about to be destroyed.

For example, if a form issues any SET PROCEDURE commands in its constructor to make various functions and/or classes available for use, you can now add a beforeRelease() event to the form in order to issue any needed CLOSE PROCEDURE commands to either close or decrement the reference count of those procedure files.

Added new function procRefCount() – allows you to check the reference count of any open procedure file (See details below).

Improved opening speed and fixed flashing of Notebook components

Fixed several Grid bugs that could cause flashing or which prevented grid cell events from firing while opening a form.

Fixed some long standing bugs in the ListBox that could cause it to crash and to ignore its current font and color settings after its datasoruce is reset.

Upgraded Project Manager to fully support using relative file paths for files added to a project. Also now supports using Source Aliases or Full Paths based on property setting.

Changed default for auto-starting dQuery on a new install of dBASE Plus so that dQuery will not auto start unless the user chooses to enable it.

Upgraded dQuery as follows:

- added support for the use of beforeRelease() events within a datamodule

- fixed several potential sources of instability that could lead to Memory Access Violations

- removed requirement that user save datamodule before opening it in the Source Editor

- fixed problem where Multi-Table View definition and custom report list were lost  if datamodule was opened in Source Editor

 

New Features

Navigator

QAID: 433 - Implemented incremental search in Navigator file list.
Instead of allowing searches for just the first character of a filename, the Navigator now supports multiple character searches allowing you to type as many characters as needed to pinpoint a file. After each character is typed the Navigator will add the most recent character to its internal search string and search for the first file matching the string.  If backspace is pressed, the last character in the search string is removed and a search is repeated for the updated search string. The search is NOT case sensitive.
The search string will be cleared when the following occurs:

  - When Navigator is created

  - When Navigator file list window receives focus

  - When Left or Right mouse down event occurs on Navigator file list window

  - If more than 1.5 seconds have elapsed since the last search character or backspace has been pressed.

  - If you press backspace enough times to remove all characters in the search string.

Runtime Engine

QAID: 6451 - Modified command line processing logic for the -C switch to check for leading and trailing double quotes in order to support long path names and embedded spaces in the specified .ini file path when launching plus.exe or plusrun.exe

Also added new error message:
Error #404    "Unbalanced quotes in path for .ini file"

This error will be triggered if a leading double quote is detected after the -C switch but no trailing double quote is found.

Form Components

QAID: 3280 - Added onOpen() event to Container class

QAID: 761/1825/4511 - Added OnClose() events to all Form Components.

    Added OnOpen() and OnDesignOpen() and OnClose() events to ReportViewer

Added OnClose() event to following form objects:

   PushButton
  ActiveX
  CheckBox
  RadioButton
  ListBox
  Progress
  Text
  Slider
  TreeView
  NoteBook
  TabBox
  Grid
  ComboBox
  EntryField
  SpinBox
  Text
  Line
  Box
  Container
  Browse
  ScrollBar
  Editor
  Image
  Shape
  ReportViewer
  TextLabel

Added OnOpen() and OnDesignOpen() events to the ReportViewer class.

QAID: 1825 - Added OnClose() event to Container class

QAID: 4511 - Added OnClose() event to PushButton Class

QAID: 1155 - Added code to fire OnClose() events for report components. Note that Report's OnClose() events only fire when report's Close() method is run explictly.

Form, SubForm, Report, Form Components, Data Objects

QAID: 6452 - Added event beforeRelease() to most built-in classes including Form, Subform, Report, Label and components. BeforeRelease() can be used to perform cleanup tasks prior to a form or subform being destroyed.

Added event beforeRelease() to the following classes:

   Form
  Subform
  Report

 All Form Components:

   PaintBox
  PushButton
  CheckBox
  RadioButton
  ListBox
  ActiveX
  Text
  ProgressCtrl
  SliderCtrl
  TreeView
  TreeViewItem
  NoteBook
  TabBox
  Grid
  ComboBox
  EntryField
  OLE
  SpinBox
  Line
  Box
  Container
  Browse
  ScrollBar
  Editor
  Image
  Shape
  ReportViewer
  TextLabel
  Array
  AssocArray
  String
  MenuBar
  Menu
  Popup
  DDELink
  DDETopic
  Session
  Database
  DataModule
  Rowset
  Designer
  Timer
  Query
  StoredProc
  Field

Procedure Files

QAID: 6453 - Added function ProcRefCount() to dBASE Plus. ProcRefCount() returns the number of references to a procedure file.

Added function ProcRefCount() to dBASE Plus.

ProcRefCount() returns the number of references to a procedure file.

Syntax:

ProcRefCount(<procedure file expC>)

procedure file expC - The filename or the path and filename of a procedure file

Description:

Use PROCREFCOUNT( ) to find the number of references to a procedure file. PROCREFCOUNT( ) accepts a single parameter which is the name of the Procedure file or the full path and name of the prcedure file for which you want the count returned.
The returned value is numeric.
Each time a procedure file is loaded its reference count is incremented by one. Each time a procedure file is closed its reference count is decremented by one.
When a procedure file's reference count reaches zero, the procedure file is removed from memory and its contents are no longer accessible.

Use SET PROCEDURE TO <procedure file expC> to load a procedure file.

Use CLOSE PROCEDURE <procedure file expC> to close a procedure file.

 

QAID: 6549 - Increased number of dbase program files that can be open simultaneously (via SET PROCEDURE or via DO <program>) from 512 to 2048 to reduce the occurrence of inaccurate "Not Enough Memory" errors due to attempting to load more that 512 program files.

QAID: 6573 – Changed default for auto-starting dQuery from True to False so that dQuery is not automatically started unless the user chooses to enable it.