dBASE™ PLUS 11.1 is NOW AVAILABLE

dBASE Plus 8 with ADO - Read Me First FAQ

Version Updates:

dBASE PLUS 8 - Version 8.1.3.0 (b2345) Fixes

Issue #64
text.tracking property is ignored when printing report

Issue #609
8.0.0.5 - C++ runtime error in Plus8

Issue #688
Toolbar onUpdate is not working properly

Issue #719
windowMenu property does not work in 8.1

Issue #729
ADO does not interpret line feed correctly in a memo field

Issue #730
ADO is returning a wrong size value for a memo field

Issue #745
Plusrun.exe left in memory when release() called externally to the form to be closed

Issue #754
Lisbox does not navigate to option if it is just under the bottom edge

Issue #755
ADO tab is missing on component palette in 'other' languages.

Issue #757
Calculations on multipliers and/or divisions are incorrect for set precision > 15

Issue #775
SpinBoxes do not work for numeric fields Connecting to My SQL or MS SQL

Issue #779
Get Error: Variable undefined: BEGINEDIT when trying to use this method on an ADO object

Issue #783
Adding ADO table via navigator is now choosing regular dBASE QUERY and DATABASE objects

Issue #784
Releasing query object in form (with a grid) onClose - then trying to initialize variable produces MAV

Issue #787
Pure virtual function call error in XP 32bit - and crash in XP64bit

Issue #791
Container paint issues with transparency and jpg as background.

Issue #792
Toolbar moves after closing and re-opening form

Issue #793
taskbarbutton = false does not work with modal form in dBASE 8

Issue #796
Inspector shows 2 hWnd properties for class toolbar

Issue #797
Toolbar imageSource is not working

Issue #799
ActiveX teechart Pro ... addSeries works in 2.8 but, not in dBASE PLUS 8 .1.2.0

Issue #806
New menu issue - hope for 8.1.3 release - unable to release menu item

Issue #807
Type for SQL numeric fields comes out as F and is affecting the STR function retsults

Issue #816
Cannot Append an ADO Decimal field within a form - get expecting numeric error.

Issue #817
Cannot set null as value of an ADO field

Issue #820
Strange results in the status bar where reindex results were not showing properly

Issue #823
Entryfield picture setting is affecting calculation of value

Issue #830
All numbers over 16 digits are showing asterisks in a table.

dBASE PLUS 8 - Version 8.1.2.0 (b2335) Fixes

Issue #343 & #721
Added requestLive property with default of True to ADOQuery class to enable ability to obtain live ADORowset. Upgraded ADORowset to enable ability to add a row within a Grid datalinked to the ADORowset object.

Issue #658
ADO fields not available in field palette

Issue #690
internal error after adding Session then DataModRef object to Report Designer

Issue #716
ADO fields not available in field palette

Issue #718
Editor colorNormal is not set correctly when editor has focus

Issue #720
MAV using form.close() method in menu

Issue #723
get MAV trying to change a query's sql statement when using a grid

Issue #724
form with a spinbox appspeedbar and appformatbar settings are not working properly

Issue #725
ADO custom class gets messed up when setting it's initial SQL is set to an empty string

Issue #736
form canClose is not evaluating correctly when using Pushbutton or Menu to close the form

Issue #740
Switching Report from Run to Design causes MAV crash

Issue #742
MAV running report containing a DataModRef after designing it

Issue #765
Spanish language files built for b2335 are using Personal Settings -- Fixed 9/3/2013

dBASE PLUS 8 - Version 8.1.1.0 (b2333) Fixes

Issue #715
Get MAV in app with grid and query results in zero records

Issue #711
Error on calculation using += operator

Issue #707
Cannot add data to ADO table in browser

Issue #706
slow reload of Debugger

Issue #705
dBASE PLUS 8.1 Cannot print reports in Windows 8

Issue #704
Some german translations need to be updated

Issue #703
"Time-Limited Application Expired (0x02)" errors

Issue #702
gif that was transparent in dBASE PLUS 8.0.0.5 is not in 8.1

Issue #701
using up or down arrow of spinbox value in inspector ... changes value to boolean

Issue #697
Get 'Error opening File' trying to print to htm

Issue #696
Get Internal Error closing Project Explorer from maximized state using non-english languages

Issue #695
Web App builds and runs in 8.005 but NOT in 8.1

Issue #694
Report Designer's Undo option only undoes field label for field dropped from field palette

Issue #691
Grid datalinked to child ADO Rowset displays new append row in wrong location

Issue #685
Made additional fix to add both field label and field text to Undo stack when dragging field onto report from Field Palette

dBASE PLUS 8 - Version 8.1.0.0 (b2330) Fixes

Issue #679
Table with a numeric field (with no decimal places) and a value of 0 shows as **********

Issue #678
Trying to add a Container to the Report Designer causes 'Internal Error'

Issue #675
Titles for objects in navigator need to be wrapped so all text shows

Issue #669
Empty returns false when it should be true (regardless of precision)

Issue #664
Linking value in the child table is NOT automatically set when beginAppend is called

Issue #663
LookupSQL Causes incorrect syntax in grid code if lookup field is not AutoInc in the lookup table

Issue #662
ActiveX - license cannot be set.

Issue #659
using Table | replace rows option when browsing produces 'Data type mismatch ' error

Issue #655
Switching views drops dml order and filters on files

Issue #653 & #647
Get MAV clicking on Properties | Desktop Properties if plus.ini contains [DataEngine] DefaultEngine=NONE.

Issue #652
Customize Tool Windows dialog is not saving and restoring last used Tab

Issue #648
ActiveX - Get Unknown error: 8002:802B with new Microsoft ListView Control 6.0 (SP6)

Issue #644, #633 - #640, #617, #365
ActiveX/OLEAutoClient - Fixed many issues with Activex and OLEAutoClient objects not working in dBASE PLUS 8 (that used to work in 2.6x)

Issue #632
form opened Readmodal() will not be released when a form.close() is called from a PushButton_onClick() event

Issue #619
Get internal error using debugger - turning variables window on then off

Issue #615
Notebook has some drawing issues in the "blank space" next to the tabs

Issue #614
Form's second value in Colornormal property is ignored

Issue #600
Round not working for value under .01 and test fails even if the rounded value seems correct

Issue #595
Get ActiveX image if component is not set up correctly. Instead add warning and allow object to render.

Issue #588
Plusrun.exe left in memory using function in form.onClose event.

Issue #584
Min / Max is only supporting Numeric value. Now supports logic, char and date values.

Issue #583
Container colornormal property does not work

Issue #582
Window menu does not show available windows

Issue #580
Form with custom Taskbartray does not release plusrun.exe when closed

Issue #579
Date object returns type 'DT' when it should return 'O'

Issue #578
If precision is > 15 -- for loop is bypassed when using calculated number for the end

Issue #577
Get mav setting adoTable to form.adodatabase1 object that has changed - rebuffering issue

Issue #554
Many crashes and MAV errors with application writen in XDML code.

Issue #549
Form code gen produces invalid activex event func names

Issue #547
Putting a datamodule in the designer removes the lookupsql settings for the rowset.

Issue #542
All child data for ADO database not rendering at all times

Issue #536
Bottom of some text characters not showing on unchecked tab of a notebook

Issue #469
Bad flicker and shapes not showing in Notebook in Form Designer

Issue #467
Notebook.buttons no longer works properly

Issue #465
Part of Notebook Border not visible with Shape object on page 2

Issue #464
Notebook tabs painted over when systemtheme = false

Issue #439
DMD grabs current database instead of the database defined in .sql file

Issue #401
Right click options missing from table viewer (browser) in dBASE Plus 8

Issue #386
Add mouse wheel support for Command Window's Output Pane

Issue #381
Speedtips not showing in built .exe

Issue #331
OLE/ActiveX - Upgrade OLE/ActiveX support to convert numeric parameters to type specified in type library when calling ActiveX methods

Issue #276
Field Palette is missing support for creating Text Labels when dropping fields on a Form or Report

New ...

integrate MSVCRuntime runtime components into .exe instead of including as a separate install

User Alias tab in Desktop Dialog

dBASE PLUS 8 - Version 8.0.0.5 (b2314) Fixes

Issue #85 & #403
Restoring a memory variable from a mem file now works for numbers over 10 digits or Decimal points = 14-NumberOfDigits.

Upgraded SAVE and RESTORE commands to support variables containing High Precision values

Issue #408
Fixed issue when you close the last active form menu is no longer attached to _app.framewindow

Issue #409 & #414 & #447
Extra grid refresh no longer needed for child grid data to show properly

Issue #447
No longer need to re-write a grid component (with defined columns) when trying to change the query using ADO components

Issue #451
Fixed issue where menu enabled property doesn't change when attaching it to frameWin

Issue #475
When setting container.enabled or notebook.enabled to false in Form Designer, enabled = false is not streamed to .wfm

Issue #480
Fixed issue where Top Level Menu (MDI) is disabled without children and events didn't work

Issue #481
Fixed internal memory error related to maseterSource settings.

Issue #482
Decimal not displaying correctly

Fixed display and formatting of numeric value in Entryfield and Spinbox controls when control is NOT datalinked and has no settings in its picture or function properties.

If control's value property is set to a value containing a decimal point, such as 0.00, than the control will display 0.00 at design time, right justified to a width of 13 digits (10 + decimal point + 2 for 00).

When form is run, value should also display correctly and when it receives focus it should continue to display correctly.

Data entry should work as in previous versions of dBASE Plus.

If control's value property is set to an integer value, such as 0, than value should be displayed right justified up to the default width of 10 digits.

These fixes should not affect cases where control is datalinked or its picture or function properties contain settings except, perhaps when value is zero.

Issue #484
Form object enabled = false properties are not being streamed by designer

Issue #485
Fixed several Formattingissues with negative numbers and picture formats

Issue #488
Fixed issues with output of TAN(DTOR()) function

Issue #490
Fixed More decimalissues spinbox and entryfield

Issue #491
Fixed issue where when clicking on a wrench in a new event in the Inspector The Source Editor comes up but, doesn't put the cursor inside the new method.

Issue #494
Fixed issue where Text objects mouse events didn't work
all except for onMouseOut and onMouseOver

Issue #499
Fixed issue where number that used the full size of the field width showed asterisks instead of the values

Issue #503
Fixed issue where if number is using it's full width of numbers and trying to use $ sign
$ shows up on right instead of the left

Issue #506
Fixed issue where
The inheritance from a custom rectangle without an explicit text property value overrides or ignores an explicit text property value in the instance of the rectangle object on a form.

Issue #511
Fixed severalissues with scientific notation display settings.

Issue #517
Fixed issue with ROUND()
if setting decimal value to 1, was not returning full number before the decimal

Issue #519
Fixed issue where palette positions were not being saved on the right dock of the IDE surface

Issue #520
Fixed MAV that occured when using Style parameter in print command

Issue #523
Fixed issues where some test Result of Math functions fail if SET DECIMALS SET PRECISION is higher than 14

Issue #526
Fixed issue where functions were returning a number with type() = 'F' instead of 'N' with a high precision setting

This could cause issues where the same functions previously just returned 'n'

Issue #537
COS(0) no longer returns 0 instead of 1

Issue #546
Fixed MAV with ROUND on very small number

Issue #548
Fixed issue where browse with calculated field causes internal error

Issue #550
Fixed Edit menu options for entryfield on a subform

Issue #538
Fixed dBASE Lockup using formula ATAN(TAN(DTOR(90)))

Issue #541
Fixed comparisons that fail with SET PRECISION lower than 14

Issue #543
Fixed issue where release method does not work inside of a form onClose when using the top right X to exit the form

Issue #546
Fixed MAV on ROUND() with very small number.

Issue #556
Fixed issue where number class toString method ouput was affected by SET DECIMAL

Issue #559
Fixed MDITab bar no longer shows tabs for Command Window and Navigator after calling shell(false,true) when running mdi form

dBASE PLUS 8 - Version 8.0.0.4 (b2296) Fixes

Issue #344
ADO with special field types (like BigInt and Image) no longer crash dBASE.

Issue #353
format toolbar no longer flickers wildly when you click on it's handle and undock it or move it around.

Issue #368
Fixed issues where Transform was not returning the correct value (additional commas, periods etc... were being use in resulting string)

Issue #369
Fixed possible issues where MAV occurs setting variable to table field with filename.

Issue #377
Ability to use Parameters in ADOQuery has been implemented
Numbered Parameters will work for most ADO Databases
Example...
this.COMPANIES1 = new ADOQUERY(this)
with (this.COMPANIES1)
left = 14.7778
top = 5.72
databaseName = "SQLTEST"
sql = "SELECT * FROM Test.dbo.Companies where NAME = ? "
with (parameters["NAME"])
value = "dBase, LLC."
endwith
with (params["NAME"])
value = "dBase, LLC."
endwith
active = true
endwith

or

this.COMPANIES1 = new ADOQUERY(this)
with (this.COMPANIES1)
beforeConnect = {;this.parameters['NAME'].value = 'dBase, LLC.'}
left = 17.1111
top = 10.56
databaseName = "SQLTEST"
sql = "SELECT * FROM Test.dbo.Companies where NAME = ? "
cursorLocation = 1 // Server (Allows for editable data in SQL Server)
active = true
endwith

or

this.COMPANIES1 = new ADOQUERY(this)
with (this.COMPANIES1)
left = 14.7778
top = 5.72
databaseName = "SQLTEST"
sql = "SELECT * FROM Test.dbo.Companies where NAME = ? "
endwith
function form_onOpen
with (this.COMPANIES1.parameters['NAME'])
value = 'dBase, LLC.'
endwith
this.COMPANIES1.active = true
this.grid1.dataLink = this.COMPANIES1.rowset
return

Also see issue #437 for another possible parameter marker sample.

Issue #389
Fixed issues where scientific notation was not being handled correctly.
for example 1/0 now returns *******Inf.
?1/.34028234663852E+39 - now returns correct value

Issue #390
Fixed issue where ceiling() within replicate() did not work.

Issue #410
trying to append on a table with a -DBLOCK field no longer produces Error: Data type mismatch. Expecting: Undefined

Issue #417
resource images are now showing in resource dialog. (Resview added back into dBLCore)

Issue #419
No longer get variable undefined: AssocArray with ADOQuery rowset onNavigate (properties = AssocArray - no longer streamed out to code)

Issue #424
Fixed issue where could not set colornormal of notebook with or without systemTheme=true

Issue #428
Fixed issue where programmatically selecting tabbox is throwing Error: Value out of range.

Issue #429
Fixed Bad flicker and shapes not showing in Notebook in Form Designer

Issue #430 & Issue #442
Fixed Math issue - dividing a negative number in some cases produced a positive value.

Issue #432 & Issue #443
Fixed issue where entryfield with numeric value did not allow for decimals.

Issue #437
implemented masterSource for ADO objects
Resolved, with new feature for parameter markers, for example:

this.ADOQUERY1 = new ADOQUERY(this)
with (this.ADOQUERY1)
databaseName = "ADO_MSSQLSERVER"
sql = "select PersonType from Person.Person"
active = true
endwith

this.ADOQUERY2 = new ADOQUERY(this)
with (this.ADOQUERY2)
databaseName = "ADO_MSSQLSERVER"
sql = "select * from Person.Person where PersonType=:PersonType"
masterSource = form.adoquery1.rowset
active = true
endwith

Any record navigating with Rowset from ADOQUERY1 should automatically requery
SQL statement in ADOQUERY2 with the new parameter value from ADOQUERY1 field: 'PersonType'

The named parameter with colon marker is replaced with a simple positional parameter marker
of question mark (?), and populate parameter collection.

Issue #438
Can now click and drag a .sql file (That connects to ADO Data) to a form without exception

Issue #440
using form.close() from a pushbutton onClick event (with form.mdi=false) no longer leaves plusrun.exe in memory. Same for Timer and popup events.

Issue #448
Fix for... Spinbox with picture "########.##", entering full value causes decimal point to display in wrong location.

Issue #449
dBASE no longer locks up with multiple readModal forms

Issue #450
Entering negative value in custom spinbox is now accepted.

Issue #453
Corrected issues with calculation of negative values

Issue #454
Setting Notebook.enabled or Container.enabled to False in designer no longer causes enabled=false to be streamed for all contained components

Issue #460
Setting Navigator Tables Tab to a directory path now sets the current database to that path

Issue #462
Editor colorHighlight now has both Text and background properties.

Issue #469
Fixed issue where - when using Large precision (over 15) and setting field value always returned 0

Issue #470
ADOQuery longVarChar fields now show in Reports

Issue #457
Grid column control's colorNormal and colorHighlight properties are now being streamed to Source Code

Issue #477
No longer get Internal error trying to set Query sql to use parameters in Form designer through inspector

Issue #476
Corrected results of most bit commands (BitAnd BitLShift BitOr BitSet and BitZRShift)
NOTE: BitNot still is not correctly producing results

Issue #478
Query Params are no longer removed by the form Designer.

dBASE PLUS 8 - Version 8.0.0.2 (b2288) Fixes

Issue #382
fixed issue where images were not showing that used to show in dBASE PLUS 2.8

Issue #384
fixed issue where some large numbers were not evaluating correctly in dBASE PLUS 8

Issue #392
fixed MAV on CommandString for MySQL database

Issue #406
B2284
fixed issues with ActiveX that were broken in 2284 (8.0.0.1) that were previously working in 2280
It appears that the back out of some code may have broken other ActiveX controls that were working with the 2280 build.

Issue #411
Fixed issue where large number was not displaying correctly. number should be displayed in full no matter the value of SET PRECISION.
Example...
? 18921124483429384747367

Issue #418
fixed issue where string was not returning the value correctly
example...
?str(100000 * 100000,11,0)

Issue #423
fixed issue where retrieving value from a numeric field was broken - either returns incorrect value or crashes when trying to get results of a field name using ?.
example...
using SAMPLE database
use orderitems
? price

Issue #426
Fixed issue - Dividing 1 by a large number using scientific notation is not evaluating correctly example
?1/.34028234663852E+39

Issue #427
Fix 0/0 to always return *******Nan (Not a Number)

Project Explorer
Issue #24
fixed "TBAR variable not defined" error when closing PE without the standard toolbar.

dBASE PLUS 8 - Version 8.0.0.1 (b2284) Fixes

Issues fixed in version 8.0.0.1

Issue #289
components in Palettes now display in multiple rows and columns if the height does not fit all of the objects.

Issue #290
fixed a regression found in the itoh() function.

Issue #335
plusrun.exe is now being released properly from Memory when closing an executable built from dBASE PLUS 8.

Issue #350
Format toolbar now shows after turning it off then back on without having to move off of Plus IDE all together then back on.

Issue #351
Format toolbar no longer re-opens on it's own after user closes it.

Issue #363
No longer get an Error Evaluating Expression within a WITH...ENDWITH
Fixed the ability of dBASE to evaluate an expression used to assign a value to a property within a WITH...ENDWITH.
Especially when the expression includes a User Defined Function. Be sure to recompile any problem files.

Issue #367
_app Main Menu Lock option:
can now set MenuBar by default to not floating

Issue #371 and 383
No more MAV after doing some table editing via XDML Commands : LOCATE FOR, DELETE FOR, REPLACE FOR and other FOR option commands.

Issue #372
Fixed MAV's that occur when using Data Modules created with previous versions of dBASE.

Issue #379
'Window resource not released' issue.
The following sample main form is now being released properly.
// check if another MainMenu form is running
if type("FindWindow") # "FP"
extern cHandle FindWindow(cString,cString) User32 from "FindWindowA"
endif
// check for the production version running
WindowName = "CIM"
if FindWindow(0,WindowName) > 0
msgbox("The Production version is already running")
return
endif

Issue #385
C++ Runtime Error occurs when pushbutton is pressed via Enter key and fires form.close()
This issue has been fixed.

Issue #395
with dBASE Plus 2.8 already installed - then installing dBASE Plus 8 - dQuery does was not come up in dBASE Plus 2.8
This has been fixed.

Issue #404
set database to fixed. After using set "data to" to close the current database.
The USE command can now find any tables in the current directory.

Issue #405
close database mydatabase now properly updates the Navigator.

dBASE PLUS 8 - Version 8 ALL FIXES

Issue #024
fixed "TBAR variable not defined" error when closing PE without the standard toolbar.

Issue #064
text.tracking property is ignored when printing report

Issue #085 & #403
Restoring a memory variable from a mem file now works for numbers over 10 digits or Decimal points = 14-NumberOfDigits.

Upgraded SAVE and RESTORE commands to support variables containing High Precision values

Issue #276
Field Palette is missing support for creating Text Labels when dropping fields on a Form or Report

Issue #289
components in Palettes now display in multiple rows and columns if the height does not fit all of the objects.

Issue #290
fixed a regression found in the itoh() function.

Issue #331
OLE/ActiveX - Upgrade OLE/ActiveX support to convert numeric parameters to type specified in type library when calling ActiveX methods

Issue #335
plusrun.exe is now being released properly from Memory when closing an executable built from dBASE PLUS 8.

Issue #343 & #721
Added requestLive property with default of True to ADOQuery class to enable ability to obtain live ADORowset. Upgraded ADORowset to enable ability to add a row within a Grid datalinked to the ADORowset object.

Issue #344
ADO with special field types (like BigInt and Image) no longer crash dBASE.

Issue #350
Format toolbar now shows after turning it off then back on without having to move off of Plus IDE all together then back on.

Issue #351
Format toolbar no longer re-opens on it's own after user closes it.

Issue #353
format toolbar no longer flickers wildly when you click on it's handle and undock it or move it around.

Issue #363
No longer get an Error Evaluating Expression within a WITH...ENDWITH
Fixed the ability of dBASE to evaluate an expression used to assign a value to a property within a WITH...ENDWITH.
Especially when the expression includes a User Defined Function. Be sure to recompile any problem files.

Issue #367
_app Main Menu Lock option:
can now set MenuBar by default to not floating

Issue #368
Fixed issues where Transform was not returning the correct value (additional commas, periods etc... were being use in resulting string)

Issue #369
Fixed possible issues where MAV occurs setting variable to table field with filename.

Issue #371 and 383
No more MAV after doing some table editing via XDML Commands : LOCATE FOR, DELETE FOR, REPLACE FOR and other FOR option commands.

Issue #372
Fixed MAV's that occur when using Data Modules created with previous versions of dBASE.

Issue #377
Ability to use Parameters in ADOQuery has been implemented
Numbered Parameters will work for most ADO Databases
Example...
this.COMPANIES1 = new ADOQUERY(this)
with (this.COMPANIES1)
left = 14.7778
top = 5.72
databaseName ="SQLTEST"
sql = "SELECT * FROM Test.dbo.Companies where NAME = ? "
with (parameters["NAME"])
value = "dBase, LLC."
endwith
with (params["NAME"])
value = "dBase, LLC."
endwith
active = true
endwith

or

this.COMPANIES1= new ADOQUERY(this)
with (this.COMPANIES1)
beforeConnect = {;this.parameters['NAME'].value = 'dBase, LLC.'}
left = 17.1111
top = 10.56
databaseName = "SQLTEST"
sql = "SELECT * FROM Test.dbo.Companies where NAME = ? "
cursorLocation = 1 // Server (Allows for editable data in SQL Server)
active = true
endwith

or

this.COMPANIES1 = new ADOQUERY(this)
with (this.COMPANIES1)
left = 14.7778
top = 5.72
databaseName = "SQLTEST"
sql = "SELECT * FROM Test.dbo.Companies where NAME = ? "
endwith
function form_onOpen
with (this.COMPANIES1.parameters['NAME'])
value = 'dBase, LLC.'
endwith
this.COMPANIES1.active = true
this.grid1.dataLink = this.COMPANIES1.rowset
return

Also see issue #437 for another possible parameter marker sample.

Issue #379
'Window resource not released' issue.
The following sample main form is now being released properly.
// check if another MainMenu form is running
if type("FindWindow") # "FP"
extern cHandle FindWindow(cString,cString) User32 from "FindWindowA"
endif
// check for the production version running
WindowName = "CIM"
if FindWindow(0,WindowName) > 0
msgbox("The Production version is already running")
return
endif

Issue #381
Speedtips not showing in built .exe

Issue #382
fixed issue where images were not showing that used to show in dBASE PLUS 2.8

Issue #384
fixed issue where some large numbers were not evaluating correctly in dBASE PLUS 8

Issue #385
C++ Runtime Error occurs when pushbutton is pressed via Enter key and fires form.close()
This issue has been fixed.

Issue #386
Add mouse wheel support for Command Window's Output Pane

Issue #389
Fixed issues where scientific notation was not being handled correctly.
for example 1/0 now returns *******Inf.
?1/.34028234663852E+39 - now returns correct value

Issue #390
Fixed issue where ceiling() within replicate() did not work.

Issue #392
fixed MAV on CommandString for MySQL database

Issue #395
with dBASE Plus 2.8 already installed - then installing dBASE Plus 8 - dQuery does was not come up in dBASE Plus 2.8
This has been fixed.

Issue #401
Right click options missing from table viewer (browser) in dBASE Plus 8

Issue #404
set database to fixed. After using set "data to" to close the current database.
The USE command can now find any tables in the current directory.

Issue #405
close database mydatabase now properly updates the Navigator.

Issue #406
B2284
fixed issues with ActiveX that were broken in 2284 (8.0.0.1) that were previously working in 2280
It appears that the back out of some code may have broken other ActiveX controls that were working with the 2280 build.

Issue #408
Fixed issue when you close the last active form menu is no longer attached to _app.framewindow

Issue #409 & #414 & #447
Extra grid refresh no longer needed for child grid data to show properly

Issue #410
trying to append on a table with a -DBLOCK field no longer produces Error: Data type mismatch. Expecting: Undefined

Issue #411
Fixed issue where large number was not displaying correctly. number should be displayed in full no matter the value of SET PRECISION.
Example...
? 18921124483429384747367

Issue #417
resource images are now showing in resource dialog. (Resview added back into dBLCore)

Issue #418
fixed issue where string was not returning the value correctly
example...
?str(100000 * 100000,11,0)

Issue #419
No longer get variable undefined: AssocArray with ADOQuery rowset onNavigate (properties = AssocArray - no longer streamed out to code)

Issue #423
fixed issue where retrieving value from a numeric field was broken - either returns incorrect value or crashes when trying to get results of a field name using ?.
example...
using SAMPLE database
use orderitems
? price

Issue #424
Fixed issue where could not set colornormal of notebook with or without systemTheme=true

Issue #426
Fixed issue - Dividing 1 by a large number using scientific notation is not evaluating correctly example
?1/.34028234663852E+39

Issue #427
Fix 0/0 to always return *******Nan (Not a Number)

Project Explorer
Issue #428
Fixed issue where programmatically selecting tabbox is throwing Error: Value out of range.

Issue #429
Fixed Bad flicker and shapes not showing in Notebook in Form Designer

Issue #430 & Issue #442
Fixed Math issue - dividing a negative number in some cases produced a positive value.

Issue #432 & Issue #443
Fixed issue where entryfield with numeric value did not allow for decimals.

Issue #437
implemented masterSource for ADO objects
Resolved, with new feature for parameter markers, for example:

this.ADOQUERY1 = new ADOQUERY(this)
with (this.ADOQUERY1)
databaseName = "ADO_MSSQLSERVER"
sql = "select PersonType from Person.Person"
active = true
endwith

this.ADOQUERY2 = new ADOQUERY(this)
with (this.ADOQUERY2)
databaseName = "ADO_MSSQLSERVER"
sql = "select * from Person.Person where PersonType=:PersonType"
masterSource = form.adoquery1.rowset
active = true
endwith

Any record navigating with Rowset from ADOQUERY1 should automatically requery
SQL statement in ADOQUERY2 with the new parameter value from ADOQUERY1 field: 'PersonType'

The named parameter with colon marker is replaced with a simple positional parameter marker
of question mark (?), and populate parameter collection.

Issue #438
Can now click and drag a .sql file (That connects to ADO Data) to a form without exception

Issue #439
DMD grabs current database instead of the database defined in .sql file

Issue #440
using form.close() from a pushbutton onClick event (with form.mdi=false) no longer leaves plusrun.exe in memory. Same for Timer and popup events.

Issue #447
No longer need to re-write a grid component (with defined columns) when trying to change the query using ADO components

Issue #448
Fix for... Spinbox with picture "########.##", entering full value causes decimal point to display in wrong location.

Issue #449
dBASE no longer locks up with multiple readModal forms

Issue #450
Entering negative value in custom spinbox is now accepted.

Issue #451
Fixed issue where menu enabled property doesn't change when attaching it to frameWin

Issue #453
Corrected issues with calculation of negative values

Issue #454
Setting Notebook.enabled or Container.enabled to False in designer no longer causes enabled=false to be streamed for all contained components

Issue #457
Grid column control's colorNormal and colorHighlight properties are now being streamed to Source Code

Issue #460
Setting Navigator Tables Tab to a directory path now sets the current database to that path

Issue #462
Editor colorHighlight now has both Text and background properties.

Issue #464
Notebook tabs painted over when systemtheme = false

Issue #465
Part of Notebook Border not visible with Shape object on page 2

Issue #467
Notebook.buttons no longer works properly

Issue #469
Bad flicker and shapes not showing in Notebook in Form Designer

Issue #469
Fixed issue where - when using Large precision (over 15) and setting field value always returned 0

Issue #470
ADOQuery longVarChar fields now show in Reports

Issue #475
When setting container.enabled or notebook.enabled to false in Form Designer, enabled = false is not streamed to .wfm

Issue #476
Corrected results of most bit commands (BitAnd BitLShift BitOr BitSet and BitZRShift)
NOTE: BitNot still is not correctly producing results

Issue #477
No longer get Internal error trying to set Query sql to use parameters in Form designer through inspector

Issue #478
Query Params are no longer removed by the form Designer.

Issue #480
Fixed issue where Top Level Menu (MDI) is disabled without children and events didn't work

Issue #481
Fixed internal memory error related to maseterSource settings.

Issue #482
Decimal not displaying correctly

Fixed display and formatting of numeric value in Entryfield and Spinbox controls when control is NOT datalinked and has no settings in its picture or function properties.

If control's value property is set to a value containing a decimal point, such as 0.00, than the control will display 0.00 at design time, right justified to a width of 13 digits (10 + decimal point + 2 for 00).

When form is run, value should also display correctly and when it receives focus it should continue to display correctly.

Data entry should work as in previous versions of dBASE Plus.

If control's value property is set to an integer value, such as 0, than value should be displayed right justified up to the default width of 10 digits.

These fixes should not affect cases where control is datalinked or its picture or function properties contain settings except, perhaps when value is zero.

Issue #484
Form object enabled = false properties are not being streamed by designer

Issue #485
Fixed several Formattingissues with negative numbers and picture formats

Issue #488
Fixed issues with output of TAN(DTOR()) function

Issue #490
Fixed More decimalissues spinbox and entryfield

Issue #491
Fixed issue where when clicking on a wrench in a new event in the Inspector The Source Editor comes up but, doesn't put the cursor inside the new method.

Issue #494
Fixed issue where Text objects mouse events didn't work
all except for onMouseOut and onMouseOver

Issue #499
Fixed issue where number that used the full size of the field width showed asterisks instead of the values

Issue #503
Fixed issue where if number is using it's full width of numbers and trying to use $ sign
$ shows up on right instead of the left

Issue #506
Fixed issue where
The inheritance from a custom rectangle without an explicit text property value overrides or ignores an explicit text property value in the instance of the rectangle object on a form.

Issue #511
Fixed severalissues with scientific notation display settings.

Issue #517
Fixed issue with ROUND()
if setting decimal value to 1, was not returning full number before the decimal

Issue #519
Fixed issue where palette positions were not being saved on the right dock of the IDE surface

Issue #520
Fixed MAV that occured when using Style parameter in print command

Issue #523
Fixed issues where some test Result of Math functions fail if SET DECIMALS SET PRECISION is higher than 14

Issue #526
Fixed issue where functions were returning a number with type() = 'F' instead of 'N' with a high precision setting

This could cause issues where the same functions previously just returned 'n'

Issue #536
Bottom of some text characters not showing on unchecked tab of a notebook

Issue #537
COS(0) no longer returns 0 instead of 1

Issue #538
Fixed dBASE Lockup using formula ATAN(TAN(DTOR(90)))

Issue #541
Fixed comparisons that fail with SET PRECISION lower than 14

Issue #542
All child data for ADO database not rendering at all times

Issue #543
Fixed issue where release method does not work inside of a form onClose when using the top right X to exit the form

Issue #546
Fixed MAV on ROUND() with very small number.

Issue #546
Fixed MAV with ROUND on very small number

Issue #547
Putting a datamodule in the designer removes the lookupsql settings for the rowset.

Issue #548
Fixed issue where browse with calculated field causes internal error

Issue #549
Form code gen produces invalid activex event func names

Issue #550
Fixed Edit menu options for entryfield on a subform

Issue #554
Many crashes and MAV errors with application writen in XDML code.

Issue #556
Fixed issue where number class toString method ouput was affected by SET DECIMAL

Issue #559
Fixed MDITab bar no longer shows tabs for Command Window and Navigator after calling shell(false,true) when running mdi form

Issue #577
Get mav setting adoTable to form.adodatabase1 object that has changed - rebuffering issue

Issue #578
If precision is > 15 -- for loop is bypassed when using calculated number for the end

Issue #579
Date object returns type 'DT' when it should return 'O'

Issue #580
Form with custom Taskbartray does not release plusrun.exe when closed

Issue #582
Window menu does not show available windows

Issue #583
Container colornormal property does not work

Issue #584
Min / Max is only supporting Numeric value. Now supports logic, char and date values.

Issue #588
Plusrun.exe left in memory using function in form.onClose event.

Issue #595
Get ActiveX image if component is not set up correctly. Instead add warning and allow object to render.

Issue #600
Round not working for value under .01 and test fails even if the rounded value seems correct

Issue #609
8.0.0.5 - C++ runtime error in Plus8

Issue #614
Form's second value in Colornormal property is ignored

Issue #615
Notebook has some drawing issues in the "blank space" next to the tabs

Issue #619
Get internal error using debugger - turning variables window on then off

Issue #632
form opened Readmodal() will not be released when a form.close() is called from a PushButton_onClick() event

Issue #644, #633 - #640, #617, #365
ActiveX/OLEAutoClient - Fixed many issues with Activex and OLEAutoClient objects not working in dBASE PLUS 8 (that used to work in 2.6x)

Issue #648
ActiveX - Get Unknown error: 8002:802B with new Microsoft ListView Control 6.0 (SP6)

Issue #652
Customize Tool Windows dialog is not saving and restoring last used Tab

Issue #653 & #647
Get MAV clicking on Properties | Desktop Properties if plus.ini contains [DataEngine] DefaultEngine=NONE.

Issue #655
Switching views drops dml order and filters on files

Issue #658
ADO fields not available in field palette

Issue #659
using Table | replace rows option when browsing produces 'Data type mismatch ' error

Issue #662
ActiveX - license cannot be set.

Issue #663
LookupSQL Causes incorrect syntax in grid code if lookup field is not AutoInc in the lookup table

Issue #664
Linking value in the child table is NOT automatically set when beginAppend is called

Issue #669
Empty returns false when it should be true (regardless of precision)

Issue #675
Titles for objects in navigator need to be wrapped so all text shows

Issue #678
Trying to add a Container to the Report Designer causes 'Internal Error'

Issue #679
Table with a numeric field (with no decimal places) and a value of 0 shows as **********

Issue #685
Made additional fix to add both field label and field text to Undo stack when dragging field onto report from Field Palette

Issue #688
Toolbar onUpdate is not working properly

Issue #690
internal error after adding Session then DataModRef object to Report Designer

Issue #691
Grid datalinked to child ADO Rowset displays new append row in wrong location

Issue #694
Report Designer's Undo option only undoes field label for field dropped from field palette

Issue #695
Web App builds and runs in 8.005 but NOT in 8.1

Issue #696
Get Internal Error closing Project Explorer from maximized state using non-english languages

Issue #697
Get 'Error opening File' trying to print to htm

Issue #701
using up or down arrow of spinbox value in inspector ... changes value to boolean

Issue #702
gif that was transparent in dBASE PLUS 8.0.0.5 is not in 8.1

Issue #703
"Time-Limited Application Expired (0x02)" errors

Issue #704
Some german translations need to be updated

Issue #705
dBASE PLUS 8.1 Cannot print reports in Windows 8

Issue #706
slow reload of Debugger

Issue #707
Cannot add data to ADO table in browser

Issue #711
Error on calculation using += operator

Issue #715
Get MAV in app with grid and query results in zero records

Issue #716
ADO fields not available in field palette

Issue #718
Editor colorNormal is not set correctly when editor has focus

Issue #719
windowMenu property does not work in 8.1

Issue #720
MAV using form.close() method in menu

Issue #723
get MAV trying to change a query's sql statement when using a grid

Issue #724
form with a spinbox appspeedbar and appformatbar settings are not working properly

Issue #725
ADO custom class gets messed up when setting it's initial SQL is set to an empty string

Issue #729
ADO does not interpret line feed correctly in a memo field

Issue #730
ADO is returning a wrong size value for a memo field

Issue #736
form canClose is not evaluating correctly when using Pushbutton or Menu to close the form

Issue #740
Switching Report from Run to Design causes MAV crash

Issue #742
MAV running report containing a DataModRef after designing it

Issue #745
Plusrun.exe left in memory when release() called externally to the form to be closed

Issue #754
Lisbox does not navigate to option if it is just under the bottom edge

Issue #755
ADO tab is missing on component palette in 'other' languages.

Issue #757
Calculations on multipliers and/or divisions are incorrect for set precision > 15

Issue #765
Spanish language files built for b2335 are using Personal Settings -- Fixed 9/3/2013

Issue #775
SpinBoxes do not work for numeric fields Connecting to My SQL or MS SQL

Issue #779
Get Error: Variable undefined: BEGINEDIT when trying to use this method on an ADO object

Issue #783
Adding ADO table via navigator is now choosing regular dBASE QUERY and DATABASE objects

Issue #784
Releasing query object in form (with a grid) onClose - then trying to initialize variable produces MAV

Issue #787
Pure virtual function call error in XP 32bit - and crash in XP64bit

Issue #791
Container paint issues with transparency and jpg as background.

Issue #792
Toolbar moves after closing and re-opening form

Issue #793
taskbarbutton = false does not work with modal form in dBASE 8

Issue #796
Inspector shows 2 hWnd properties for class toolbar

Issue #797
Toolbar imageSource is not working

Issue #799
ActiveX teechart Pro ... addSeries works in 2.8 but, not in dBASE PLUS 8 .1.2.0

Issue #806
New menu issue - hope for 8.1.3 release - unable to release menu item

Issue #807
Type for SQL numeric fields comes out as F and is affecting the STR function retsults

Issue #816
Cannot Append an ADO Decimal field within a form - get expecting numeric error.

Issue #817
Cannot set null as value of an ADO field

Issue #820
Strange results in the status bar where reindex results were not showing properly

Issue #823
Entryfield picture setting is affecting calculation of value

Issue #830
All numbers over 16 digits are showing asterisks in a table.

Some Initial notes on dBASE Plus 8:

Are dBASE PLUS 2.8 projects forwardly compatible with dBASE PLUS 8?

YES, projects developed in dBASE PLUS FULL 2.8 should compile with little to no changes.

dBASE PLUS 8 does not support full backward compatibility. This is due to many underlying technical issues, including but not limited to:

  1. High Precision Math implementation
  2. A new look & feel manager
  3. Full upgrade to the new MFC (Microsoft Foundation Class) for look and feel and underlying component structures
  4. Updated and latest compiler support

All code from prior releases should be recompiled to ensure compatibility.

This is required!

Some objects, methods, events, and components have been changed in dBASE PLUS 8.

This means that behavior is NOT guaranteed from prior releases of dBASE. Users of dBASE should recompile and test code as some components have updated event paths and sequences, methods have changes, and events have been modified.

Some but not all objects that could be effected by the new underlying MFC (Microsoft Foundation Class) usage.

  1. FrameWindow
  2. Menubar Class
    1. Menu Class objects
  3. System.toolbar
  4. Form Class
  5. Tool Palettes
  6. Designers
  7. Toolbutton Class
  8. Format Toolbar

The new toolbar class has a read-only parent property.

This could cause a break in existing MDI code as it may be assigned to a different form.

In the dQuery source code, there is code such as:

t = new toolbar()
t.parent = this // Developer could have assigned it before on an MDI form

dBASE: and potential code breaking situation..."

_app.frameWin contains an object reference for the Frame Window, this parentage looks to be automatic in the new Toolbar Class.

The internal graphic libraries have been updated for jpg and png formats.

This should allow dBASE PLUS 8 users to better handle the higher quality graphic formats.

In order to enable the large version of the standard toolbar in the application frame window, the following should be added to the application's .ini file:

[Tools]
LargeButtons=1
ShowTooltips=1

New ActiveX components (5) included with dBASE PLUS 8.

There is a set of new ActiveX components that have been added to dBASE PLUS 8. These components are based on the open source JEDI component package. The JEDI component package is compiled using either Embarcadero’s Delphi or C++Builder.

Upgrading from dBASE PLUS 2.6x and lower – reusing your idapi.cfg file

If the idapi.cfg was in c:\program files ….\common files\borland\bde
Which would be the case with 2.6x…

You should still have the idapi.cfg in c:\program files ….\common files\borland\bde after installing dBASE PLUS 8.

The installer will create a new idapi.cfg in c:\programdata\common files\borland\bde but you should still have the one in c:\Program files\common files\borland\bde
And should be able to copy that over to c:\programdata\common files\borland\bde and use it.

ADO Sample Code:

How do you use ADOQuery with Parameters

There are a couple of ways to use Parameters with ADOQuery in 8.0.0.3.
Most DBMS connections will be able to use positional parameter markers indicated by a question mark (?).
Here are some examples of some connections to SQL Server using positional parmeters...

Example 1 - in Form.onOpen event.

this.COMPANIES1 = new ADOQUERY(this)
with (this.COMPANIES1)
left = 14.7778
top = 5.72
databaseName = "SQLTEST"
sql = "SELECT * FROM KathyTest.dbo.Companies where NAME = ? "
endwith

this.GRID1 = new GRID(this)
with (this.GRID1)
height = 12.32
left = 3.8889
top = 2.2
width = 31.1111
endwith

this.rowset = this.companies1.rowset

function form_onOpen
with (this.COMPANIES1.parameters['NAME'])
value = 'dBase, LLC.'
endwith
this.COMPANIES1.active = true
this.grid1.dataLink = this.COMPANIES1.rowset
return

Example 2 - in constructor code.

this.COMPANIES1 = new ADOQUERY(this)
with (this.COMPANIES1)
left = 14.7778
top = 5.72
databaseName = "SQLTEST"
sql = "SELECT * FROM Test.dbo.Companies where NAME = ? "
with (params["NAME"])
value = "dBase, LLC."
endwith
active = true
endwith

Example 3 - using ADOQuery.beforeConnect event.

this.COMPANIES1 = new ADOQUERY(this)
with (this.COMPANIES1)
beforeConnect = {;this.parameters['NAME'].value = 'dBase, LLC.'}
left = 17.1111
top = 10.56
databaseName = "SQLTEST"
sql = "SELECT * FROM Test.dbo.Companies where NAME = ? "
cursorLocation = 1 // Server
active = true
endwith

You can use the named parameters in most circumstances as well.
This Example also sets up a Parent/Child relationship on SQL Server data using ADOQueries and named parameters and the masterSource property.

this.ORDERS1 = new ADOQUERY(this)
with (this.ORDERS1)
left = 89
top = 178
databaseName = "MYSQLTEST_CA"
sql = "SELECT * FROM orders"
active = true
endwith

this.ORDERDETAILS1 = new ADOQUERY(this)
with (this.ORDERDETAILS1)
left = 367
top = 195
databaseName = "MYSQLTEST_CA"
sql = "SELECT * FROM orderdetails where orderNumber=:orderNumber"
masterSource = form.orders1.rowset
active = true
endwith

Making data in an ADOQuery object editable

If your DBMS ADO/ODBC driver has the ability to set the cursorLocation to 'Server' you may be able to make your ADOQuery.rowset editable and not just readable.
For example the following connects to SQL Server and will make the Companies table editable in an ADOQuery object.

this.COMPANIES1 = new ADOQUERY(this)
with (this.COMPANIES1)
left = 17.1111
top = 10.56
databaseName = "SQLTEST"
sql = "SELECT * FROM Test.dbo.Companies"
cursorLocation = 1 // Server
active = true
endwith

If you are unable to use cursorLocation = 1 //Server -- then you can use ADOTable objects (which connect directly to table - NOT using sql) to edit your data on a form.
You will know if the cursorLocation is settable or not by simply trying it. If it does not hold after setting the object active=true, then it is not available.

Creating a Parent/Child relationship on data using masterSource

This Example sets up a Parent/Child relationship on SQL Server data using ADOQueries and named parameters and the masterSource property.

this.ORDERS1 = new ADOQUERY(this)
with (this.ORDERS1)
left = 89
top = 178
databaseName = "MYSQLTEST_CA"
sql = "SELECT * FROM orders"
active = true
endwith

this.ORDERDETAILS1 = new ADOQUERY(this)
with (this.ORDERDETAILS1)
left = 367
top = 195
databaseName = "MYSQLTEST_CA"
sql = "SELECT * FROM orderdetails where orderNumber=:orderNumber"
masterSource = form.orders1.rowset
active = true
endwith

How to Execute SQL commands

How do I execute sql commands in ADODatabase object.
You would use the syntax for the particular DBMS and Driver you are connecting to.
You can usually find the proper syntax by doing a Google search or looking up the driver info.

Here is an example of using the executeSQL command on an ADODatabase object with a MySQL connection using the 5.x MySQL driver.

this.ADODATABASE1 = new ADODATABASE(this)
with (this.ADODATABASE1)
onOpen = class::ADODATABASE1_ONOPEN
onExecute = class::ADODATABASE1_ONEXECUTE
left = 6.1111
top = 4.08
databaseName = "MYSQLTEST_CA"
active = true
endwith

function ADODATABASE1_onExecute(cmd)
?"Completed "+cmd
return true

function ADODATABASE1_onOpen
?"about to : CREATE TABLE aLongVarChar (ALongText LongText);"
this.executeSQL("CREATE TABLE aLongVarChar (ALongText LongText);")
return

Known Issues:

Component Palette

Component Palette: Sometimes the Component palette will be unable to show all of the objects on it.

Workaround: Just resize the Component Palette is in and it will re-set the list of objects.

ACTIVEX

ActiveX: Silverlight ActiveX does NOT work with dBASE PLUS 8. This ActiveX will cause a major program error.

Workaround: It is recommended that all developers avoid this ActiveX with dBASE PLUS 8.

Only English support - Fixed 8.1.1.0

dBASE Plus 8 initial offering (B2280) is only available in English at this time. We are hoping to release these in short order.

COMPONENTS

Some components have additional Properties, Events, and Methods and not all of them allow for modification. dBase is in the process of removed the exposed items to eliminate confusion.

Windows 8

It has been reported that in certain instances dBASE PLUS 8 will allow “bleed-through” on form using the Notebook component. This has not been confirmed by the time of release. If this occurs please let dBase know.

Windows 8

It has been reported that editor functional (CTRL-F) find in the editor does not work, this has not been validated. It has also been reported that (CTRL - ->) Next Word does not work, this has not been validated.

Assembler code

Running Assembler code in dBASE PLUS 8 can have side effects with the new dBASE PLUS 8 product. It is recommended that alternatives to calling Assembler are preferred, however, if Assembler is used, please test and verify correct operation.

FAQ:

Why can’t I edit data in my table when using ADOQuery… - Fixed in 8.1.2.0

The initial idea was that most queries in other databases are only for data display unless of course you use specialized queries like UPDATE and CREATE statements. We are emulating that behavior here.

In the meantime try using the ADOTable object. it has direct access to the table data rather than using a query and should allow for connections to the data but, also make the data editable on a form.

Fixed as of version 8.1.2.0 by setting ADOQuery’s new requestLive property to True before activating the query.

Why the difference in Version representation?

You will notice that when you go to Help | About dBASE Plus …
You will see a representation of the current version to be something like …
8.0.0.1
However, when doing the VERSION command or using the __version__ preprocessor the representation will show as a numeric version …
8.001 (assuming that SET DECIMAL is at least 3)
So, when checking the VERSION keep this in mind.

What are the BDE specifications for dBASE Data (specs) (Table limits)

General limits and specification

General BDE™ Limits

48 Clients in system
32 Sessions per client (3.5 and earlier 16 Bit, 32 Bit)
256 Session per client (4.0 32 Bit)
32 Open databases per session (3.5 and earlier 16 Bit, 32 Bit)
2048 Open databases per session (4.0 32 Bit)
32 Loaded drivers
64 Sessions in system (3.5 and earlier 16 Bit, 32 Bit)
12288 Sessions in system (4.0 32 Bit)
4000 Cursors per session
16 Entries in error stack
8 Table types per driver
16 Field types per driver
8 Index types per driver
48K Size of configuration (IDAPI.CFG) file
64K Size of SQL statement (RequestLive=False)
4K Size of SQL statement (RequestLive=True)
6K Size of SQL statement (RequestLive=True) (4.01, 32 Bit)
16K Record buffer size (SQL or ODBC)
31 Table and field name size in characters
64 Stored procedure name size in characters
16 Fields in a key
3 File extension size in characters
260 Table name length in characters
260 Path and file name length in characters
15 Significant Digits

Paradox® Limits

127 Tables open per system (4.0 and earlier 16 Bit32 Bit)
254 Tables open per system (4.01 32 Bit)
64 Record locks on one table (16Bit) per session
255 Record locks on one table (32Bit) per session
255 Records in transactions on a table (32 Bit)
512 Open physical files (4.0 and earlier 16 Bit32 Bit) (DB, PX,MB, X??, Y??, VAL,TV)
1024 Open physical files (4.01 32 Bit) (DB, PX,MB, X??, Y??, VAL,TV)
300 Users in one PDOXUSRS.NET file
255 Number of fields per table
255 Size of character fields
2 Billion records in a table
2 Billion bytes in .DB (Table) file
10800 Bytes per record for indexed tables
32750 Bytes per record for non-indexed tables
127 Number of secondary indexes per table
16 Number of fields in an index
255 Concurrent users per table
256 Megabytes of data per BLOB field
100 Passwords per session
15 Password length
63 Passwords per table
159 Fields with validity checks (32 Bit)
63 Fields with validity checks (16 Bit)
53 Fields with Validity checks added at onetime
63 Number of Sessions with Tables open on1 System

dBASE® Limits

256 Open dBASE® tables per system (16 Bit)
350 Open dBASE® tables per system (BDE™ 3.0 - 4.0,32 Bit)
512 Open dBASE® tables per system (BDE™ 4.01, 32 Bit)
100 Record locks on one dBASE® table (16 and 32 Bit)
100 Records in transactions on a dBASE® table (32 Bit)
1 Billion records in a table
2 Billion bytes in .DBF (Table) file
4000 Size in bytes per record (dBASE® 4)
32767 Size in bytes per record (dBASE® for Windows®)
255 Number of fields per table (dBASE® 4)
1024 Number of fields per table (dBASE® for Windows®)
47 Number of index tags per .MDX file
254 Size of character fields
10 Open master indexes (.MDX) per table
220 Key expression length in characters

I get ‘Plusrun could not be found’ error when running an .exe that I built with dBASE PLUS.

This usually happens when your application cannot find the runtime files. Or if the .exe was built with a version that is not compatible with your current runtime files

When running an .exe that you built with dBASE this is how the runtime files are searched:

1 – the .exe looks in the current directory
2 – if there are no Runtime files in the same directory as the .exe. Then during startup the .exe looks for a registry entry
Check your registry entry for the runtime :
HKLM\Software\Wow6432node\dBASE\Plus\series1 “RuntimePath” if in 64bit machine
HKLM\Software\dBASE\Plus\series1 “RuntimePath” if in 32bit machine

What is a User BDE Alias?

You can create individual User Database Aliases in dBASE 2.8 when using the user’s UAC Paths in Vista or Windows 7.
In the User’s Plus.ini (or the applications .ini) file.
(For example c:\users\\dBASE\Plus\Bin\Plus.ini)

Here is information from the dBASE Plus 2.8 help file. Topic: ‘INI’
USERBDEALIASES Is a setting which allows a standard user to create a User Alias that gets saved to the user's ini file.
A standard user will NOT be able to add a regular BDE Alias that gets stored in the BDE config file (idapi.cfg), unless the user is given administrator privileges OR is put in a custom user group that has full access to the BDE's registry keys and the folder containing IDAPI.cfg.
The alternative is to deploy your app with one of the following:
- an .ini file containing User BDE Alias settings that the runtime will auto load when starting your application.
- a custom routine that your program runs to create on-the-fly any User BDE Aliases needed while your program is running.
To use the .ini file option, add lines similar to the following:
[UserBDEAliases]
0=SomeAlias
1=SomeODBCAlias
[SomeAlias]
Driver=DBASE
Options=PATH:C:\SomeAliasFolder
[SomeODBCAlias]
Driver=
Options=

Without dQuery, is there a means to export or import data to other formats ? excel, csv etc

Yes, in the DUFLP (Dbase Users Function Library Program) there are many examples and useful tools written in dBL.
Two specifically are ‘ImportData.wfm’ and ‘ExportData.wfm’ which imports and exports to many other data types.

You can go here to get the link (and more information) to the DUFLP (under Code Library)
http://www.dbase.com/support/knowledgebase/ under ‘dBASE Code Examples’.

When you download the DUFLP make sure to create a SourceAlias that points to the DUFLP root dir..
DUFLP

2012-2017 © dBase, LLC
dBase LLC Websites Status