dBASE® 2019 – Read Me First FAQ
Version Updates:
dBASE® 2019.2 - FIXES
Issue #2838
Fixed – Added the following methods to the DateTimePicker class:
SetFocus(), Move(), Cut(), Copy(), Paste(), Undo(), Keyboard(), Drag(),
and Release().
Implemented support for Edit menu options Cut, Copy, Paste, Delete
Copy and Cut copy current control value as a DateTime String
(similar to output from DTTOC()) into the Windows clipboard
Paste can set a DateTimePickers value to a DateTime value from a
DateTime String (similar to output from CTODT())
Issue #3010
Fixed – Setting Enabled to false now successfully disables menu item.
Menuitem now displays a grayed out when disabled
Issue #3030
Fixed – pushbutton onLeftMouseUp fires when pushbutton.enabled = false
Also fixes all mouse events firing for a disabled component
dBASE® 2019.1 - FIXES
ADO…
Issue #1985
Fixed – Seconds value does not show with ADO connections for DateTime values
Issue #1451
Fixed – handle ado table names with ‘$’ character in the table
FORM
Issue #2991
dBASE crash on form reopen with a child form with a toolbar.
Issue #2713
Fixed – Enter or Tab keys don’t behave correctly with showtaskbarbutton=false or smalltitle = true in the EntryField and Grid
Issue #2965
Fixed – Unable to close non-mdi form after undocking its menubar
Issue #2989
Fixed – Closing modal form gives focus to outside app
GRID
Issue #2995
Fixed – getColumnObject() doesn’t appear to be working correctly in dBASE PLUS 12 and dBASE® 2019
Issue #2992
Fixed – difficult to grab and move column in a grid or browse in dBASE PLUS 12 and dBASE® 2019
COMBOBOX
Issue #2746
Fixed – Combobox – speedtip not working if combobox style = 0 //simple
EDITOR
Issue #2996
Fixed – Issues with certain web tags trying to insert or use text instead of tags
Issue #3008
Fixed – Changing Editor’s evalTags property to True leads to crash
POPUP MENU
Issue #2613
Fixed – popup – popup.name returns the constructor variable name rather than the object name given when runtime is embedded in the exe
Issue #2917
Fixed – popup.name returns the constructor variable name rather than the object name given when runtime is embedded in the exe
TREEVIEW
Issue #2955
Fixed – Treeview – onLeftMouseUp does not trigger when clicking on a treeview element (depending on the form’s position)
Issue #2753
Fixed – Treeview – After .releaseAllChildren there is a ugly gap between line and text.
Issue #2662
Fixed – treeview – issues with getItemByPos and selection of treeview items
ARRAYROWSET
Issue #2963
Fixed – ArrayRowset – with only one column does not fire the next() method
Issue #2994
Fixed – ArrayRowset – rowNo() keeps incrementing when calling next() after encountering endofset
IDE
Issue #2990
Fixed – Source Editor / Command Window Editor settings are not saved when Motif <> None
Issue #2986
Mostly Fixed – Touch and Hold Gesture does not trigger context menu to pop up within IDE tools
SOURCE EDITOR
Issue #3001
Fixed – AutoComplete in the Source Editor triggers “Database Engine Error – Table does not exist” when specifying a USE command
APPLICATION .EXE
Issue #2998
Fixed – In dBASE Application, Motif menu option is appearing on the View menu in a built .exe – it should not!
dBASE® 2019 - FIXES
ADO…
Issue #1985
Fixed – Seconds value does not show with ADO connections for DateTime values
Issue #1451
Fixed – handle ado table names with ‘$’ character in the table name.
IDE…
Issue #2982
Fixed – MAV’s starting dBASE when Command Window and Navigator are not opened at startup
Issue #None
Partially Fixed – Improved painting of frameWin border when focus moves to another application’s window and current application theme is one of the Office3 themes
Issue #2343
Fixed – AutoComplete – if a database is open, entering CLOSE DATABASE in command window brings up a list of databases and produces an error
Issue #2915
Fixed – Default File Types for Find In File dialog always resets to first option
Issue #2919
Fixed – Menu Designer – Added ability to click on menubar to make menubar current object within Inspector
Issue #2931
Fixed – Navigator – Change so Look In: setting is written to .ini file with each change to the path and database before closing dBASE.
Issue #2848
Fixed – File | Recent Files and File | Recent Projects are not read from the plus.ini file
Issue #2893
Fixed – App hangs at compile time (due to too many methods within a class). Fixed how ENDCLASS statement is handled by compiler so that it correctly handles an arbitrary number of methods within a dBASE class
FORM / FORM OBJECTS…
Issue #2828
Fixed – When closing form that was opened using readModal(), re-enable parent window before destroying form’s window in order to prevent non-dBASE window from displaying on top during the close process
Issue #2839
Fixed – Surfaced onGesture events for grid class
Issue #2836
Fixed- grid.column.editorcontrol – mouse events do not work
Issue #2858
Fixed – no mechanism to refresh menu items after deletion. Added method: reload() to class menubar and class popup to update an active menu with changes.
NOTE: when adding or re-adding menu items the new item will be put at the end of the list of menus. If you need to show the added menu item in the middle somewhere then all menu items after must be regenerated.
Issue #2880
Fixed – Crash when selecting Menu items in built .exe
Issue #2920
Fixed – Strange behavior with selecting menu items. Sub menu keeps expanding and contracting
Issue #2852
Fixed – RecentProjects are not added to the ini file and existing lists get garbled
MATH FUNCTIONS…
Issue #2506
Fixed – Modified Round() function, internally, to use the current SET PRECISION setting when checking if value to round should be rounded up or down due to its least significant digits being greater than or equal to half the next most significant digit.
RUNTIME…
Issue #2841
Fixed – .exe built with runtime .. then codesigned throws “0x01” error
MISCELLANEOUS…
Issue #2842
Fixed – Checking for and firing ON KEY and Escape key press while running a loop. NOTE: _app.executeMessages() is NOT needed in this loop …
for x = 1 to 100000
?x
ON KEY LABEL Ctrl+F10 Msgbox(“still in it”)
endfor
ON KEY
New Features:
NEW CLASS ARRAYROWSET / ARRAYFIELD...
– See Help for more info on this new class
There is a sample included in the ‘Samples’ folder called ‘rArray.wfm’
RICH EDIT CLASS...
– Added method SetFocus() to class RichEdit
MENUBAR CLASS...
– Add properties to control floating of menubar (floating, isFloating, allowFloat)
– Added method: reload() to class menubar and class popup to update an active menu with changes. NOTE: when adding or re-adding menu items the new item will be put at the end of the list of menus. If you need to show the added menu item in the middle somewhere then all menu items after must be regenerated.
POPUPMENU CLASS...
– Added method: reload() to class menubar and class popup to update an active menu with changes. NOTE: when adding or re-adding menu items the new item will be put at the end of the list of menus. If you need to show the added menu item in the middle somewhere then all menu items after must be regenerated.
IDE Toolbar...
– Toolbar – Properties Dialog additions – New Buttons added to toolbar for many property dialogs including Desktop Properties , Command window properties, Navigator Properties etc…
– Recent Files / Recent Projects – Expanded Recent Files and Recent Projects to allow more entries for each. Now supports up to 25 Recent Files and 24 Recent Projects. Must be set via Properties | Desktop Properties | ‘Application’ tab | under ‘File Menu’
IDE Source Editor...
– Source Editor – Added “Dark” Color Presets to Source Editor Properties – Color Tab
– Source Editor – Added Zoom In and Zoom Out to View Menu and Toolbar for Source Editor menu options Zoom In and Zoom Out. Also “Ctrl+” and “Ctrl-” key labels
– Source Editor – Added “Copy Full File Path” option to context (right click menu)
– Source Editor – Edit | Bookmarks menu. Bookmarks currently work within current editor session (not yet saved across sessions) You can also use a left click in the Left Most margin of the source editor. In order to do this – The View | Margin option must be checked (to show the margin used for bookmarks) in order to be able to use the mouse to click on it.
When View | Margin is checked, bookmarks display with purple circles in the margin.
When View | Margin is unchecked, bookmarks display by changing the lines background to purple
Bookmark options are:
Toggle Bookmark
First Bookmark
Next Bookmark
Previous Bookmark
Last Bookmark
Clear all bookmarks
– Source Editor – Edit | Surround Menu – Added support for Surrounding block of text.
Most block code is added. Also added Surround menu option to Source Editor’s context (Right Click) menu
Surround options are:
Delimiters..
do..
if..
for..
try..
with / endwith
class / endclass
function / return
procedure / return
When a Surround suboption is selected the chosen surround text is inserted into the source file at the start and end of selected text. If no text is already selected, the surround text is simply inserted at the cursor.
– Source Editor – Added additional menu options to the Source Editor’s context menu:
Convert
To UpperCase
To LowerCase
To Initial Capitals
To DOS Text
To Windows Text
Comment Lines
Uncomment Lines
Toggle Comment Lines
Increase Indent
Decrease Indent
Surround options
Bookmark options
IDE More Menus...
– Menu Additions – Added Motifs (None, Light and Dark) options to dBASE View Menu. This is a new global setting to set the current dBASE Look and Feel.
It is a single setting that groups together an Application Theme, Source Editor Color Presets, and additional color settings for the main dBASE IDE (Command Window Output Pane, Navigator, Source Editor Treeview and Find in Files Output windows).
NOTE: settings made in the plus.ini file for colors in the source editor treeview ([BriefEditor]) and the command window results pane ([CommandWindow]) will override these defaults. (See below)
Command Window…
– Command Window – Added Zoom In and Zoom Out to Command Window toolbar and View Menu. When Zoom In or Zoom Out is selected for the Command Window, both the Input andOutput Panes are zoomed
– Command Window – Added ‘Clear Results’ option to Menu and toolbar. (NOTE: this is also included when the Navigator has focus)
Find in Files…
– Find in Files – Search string is now displayed in a tab when doing a ‘Find in files’ search.
– Find in Files – dialog is now resizeable
– Find in Files – result windows color scheme and font now matches source editor’s color and font Controls
INI – New settings (Includes modifications to Source Editor, Command Window, Palettes etc.)…
– Added .ini setting to save current Motif
[Desktop]
Motif=[Motif Number]
where Motif Number can be:
0 = None
1 = Light
2 = Dark
Fonts settings added to plus.ini file. Set font size and font name for Inspector, menus, status bar, MDI Tabs, Component Palette, and Field Palette via .ini setting. Example:
[Desktop]
MenuFontName=Times New Roman
MenuFontSize=15
If you specify just one of these settings the other one will stay set to the default.
The default MenuFontName is “Segoe UI”
The default MenuFontSize is 11 points
Added ability to set colors for Source Editor’s Treeview from the current Source Editor instance. Also added .ini file settings that can be used to override default colors and font setting. Example:
[BriefEditor]
TreeViewFont=Segoe UI,12
TreeViewTextColor=Blue
TreeViewBackColor=LightBlue
Added ability to set colors for Command Window Output Pane. Output Pane’s colors will now match Input Pane’s colors unless overridden by new .ini file settings. Example:
[CommandWindow]
ResultsPaneFont=Courier New, 13
ResultsTextColor=Purple
ResultsBackColor=LightGrey
More default font settings under new Plus.ini section [DefaultFont]
For the Navigator a new setting called ‘Application’
For Control Defaults (like Text, TextLabel, Pushbutton etc. object) FontName and FontSize a new setting called ‘Controls’.
These are set when you add a new control to a form or Report. Example:
[DefaultFont]
Application=Times New Roman, 13
Controls=Times New Roman, 12
RUNTIME...
– Add new property to Application object to indicate what the current runtime environment is.Added new property _app.runtimeType (readonly). This is set during dBASE startup to one of the following values:
0 = dBASE IDE (plus.exe)
1 = Regular dBASE Runtime (plusrun.exe)
2 = Embedded dBASE Runtime in application .exe
FAQ:
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 |