dBASE Plus release 2.62
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.