||Fixed potential buffer overflow in routine that processes
the picture property's S (scroll) option.
If the value passed for S is 5 or more digits, than a
buffer overflow would occur.
This is rare as S would normally be between 1 and 3 digits.
||Fixed potential string buffer overrun when setting up
icon labels for filenames in Navigator.
The code that was modified is only used when setting the
Navigator to display Large Icons.
||Fixed potential use of a NULL pointer and prevented
scanning past end of string buffer in reporting records
copied during COPY command and other commands that report
||Fixed possible memory leak when opening a database when
a parameter is found that is of an unknown type. An array
used to hold parameter type objects was allocated on the
heap and was not being released due to its pointer going
out of scope. This fix only affects the OPEN DATABASE
command when the AUTOEXTERN option is included (which
only supports Interbase and Oracle).
||Fixed small memory leak in the following XDML commands:
when the index being created or copied is a Primary key
||Modified _app.frameWin's open code to work more efficiently.
||Ensured that a null pointer is not used incorrectly
opening the Count dialog
||When double clicking on a table in the Navigator or
when completing the Form Wizard, there was a chance that
a Null pointer could be referenced if the Form creation
failed. Added test to ensure that a Null pointer will
not be used.
||Fixed memory leak that occurred with 3 strings used
when retrieving help information from an ActiveX object's
nativeobject if the call to retrieve the information failed.
||Added additional error test when searching for correct
resource .dll (ex: Plus_en.dll) to load. The additional
test is to ensure that a value was returned by Windows
when dBASE checks the current locale setting.
||Corrected call to release memory for a temporary array
used during processing of a DDETopic onExecute event.
||The Date Object's ToGMTString() and ToString() methods
call an internal routine to retrieve an abbreviation for
the month name. This internal routine, in turn, calls
Window's GetLocaleInfo() function to retrieve the desired
abbreviation for the month in the appropriate locale.
Added a check to ensure that GetLocaleInfo() succeeds
before doing anything more with the buffer used to hold
the month abbreviation.
||Corrected tests that check if calls to LoadLibrary succeeded
or not by changing these tests to check if the returned
handle is NULL rather than if the returned handle is greater
than 32 (HINSTANCE_ERROR).
This should have been done when Borland ported dBASE from
16 bit Windows to 32 bit Windows.
Also, adjusted some routines to ensure that FreeLibrary()
is called to decrement the reference count on a library
file (or unload it if the reference count reaches zero).
||Fixed small memory leak in the database class's reindex()
||Fixed small memory leak that would occur if a listbox's
datasource was assigned an empty string, such as:
f = new form()
f.l = new listbox(f)
f.l.datasource = ""
||Fixed leak in the database object's open() method that
occurred when connecting to a database that contains stored
procedures that have parameters.
Memory containing a copy of an array of parameters was
being leaked after a stored procedure was registered by
||Fixed small memory leak that was occurring when assigning
a value to a combobox's datasource property.
||Fixed memory leak when saving table structure in Table
Memory used to hold an array that maps old field names
and positions to new field names and positions could be
leaked in certain cases.
||Fixed small memory leak when initializing Find &
Replace dialog for Source Editor when no replace string
||Fixed memory leak that could occur under certain circumstances
when executing the CALCULATE command.
||Fixed possible memory leak when setting up a filter
on a rowset.
||Fixed 3 internal methods of GetDirectory() that could
trigger instability of dBASE Plus by using a pointer to
a variable that has gone out of scope.
||Fixed potential use of out-of-scope variable when retrieving
pointer to parent container.
||Fixed possible use of a pointer to a previously freed
memory block when formatting a string with a picture and/or
||Fixed incorrect release of an internal array when loading
a .png image file.
||Fixed possible writing passed end of buffer when loading
or displaying memo field data in Editor object.
||Fixed regression that caused a MAV when closing a Form
containing a SubForm.
Also added code to prevent firing subform's activation
logic while resizing it.