dBase 2019 Optimized Edition Achilles Heel
dBase 2019 OE comes shipped with a version of BDE that's over 24 years old.
In the 1990’s I used Ashton-Tate dBase III, dBase IV. Ashton-Tate was brought-over by Borland.
You can read about the rise and fall of dBase. I want to write about how Borland protected dBase and Paradox to the point where it’s core implementation - the source-code of dBase and Paradox are now, presumably lost.
dBase SDK for Turbo C++?
You’ll never find an official Borland dBase SDK for TurboC++, nor a DOS-based TurboPascal dBase SDK that correctly reads dBase III or dBase IV files.
You’ll never find any Nantucket Clipper integration for Borland C++ compiler nor for TurboPascal.
In 1996, Borland release BDE 1.0 included in Delphi 1.0, which consolidated reading and writing of dBase II, Paradox, dBase III, DBase IV files into a run-time redistributable “BDE”.
In 21st May 2001, Delphi 6 was released with BDE 5.01, the same version that’s shipped with dBase 2019. Every version of BDE found in Visual dBase, dBase Plus to dBase 2019 comes with the same BDE version.
The source-code for BDE, similar to BOLD for Delphi is presumed lost after delivered to Corel.
Corel Paradox 2023 still ships with an old version of BDE from 2001.
dBase 2019 Optimized Edition
dBase 2019 is a glorified shell over the BDE. dBase 2019 is a poor cousin to dBase IV.
dBase 2019 is a MFC application (not made in Borland’s TurboVision or TurboVision for Windows) that uses CodeJock MFC controls.
You can imagine, instead of custom TurboVision used in Visual dBase 7, most of the dBase 2019 UI is based on CodeJock MFC controls.
Source: CodeJock.com
Incredibly, the dBase developers managed to bungle using CodeJock such that the dBase grid is unusable, dBase property inspector sometimes, accidentally loses it’s values, dBase dark skin is patchy and doesn’t fully skin dBase and… the dBase newsgroup is full of complaints.
Why is BDE a limiting factor?
The BDE version 5.01 shipped with dBase 2019, and dBase 2019 run-time hasn’t been updated since 2001 - almost 24 years ago.
In the past 24 years, Windows has changed - Windows XP was shipped in 2001. BDE 5.01 predates Windows XP by a few months
There are some BDE files, scarily, updated last 1997.
On Windows 11, apps deployed using dBase run-time, (build 2618 (latest) and BDE 5.01) work with great difficulty, or mostly unusable. Websites that uses dBase often run out of memory, or encounter numerous dBase corruptions soon after.
There is no 64-bit BDE. An effort to make dBase 64-bit means a full rewrite. That’s easy - just switch a Visual Studio C++ project x86 to x64 and recompile - but it’s almost impossible as the core of dBase - the source code encapsulated in the BDE… is presumed lost.
dBase 2019 was last updated 4 years ago. There hasn’t been an update to dBase 2019 for years.
dBase run-time PlusRUN.exe uses BDE 5.0.1 APIs such as - DbiRegisterCursor, DbiStartSession.
To make dBase or PlusRUN work in OSX or Windows 64-bit requires large development team and huge engineering effort, first to remove the BDE and remake the dBase language to work cross-platform. Should dBase be developed using GO, or RUST or - presumably - in Delphi or React?
Should dBase be web-first or mobile-first?
Will there be an update to dBase 2019? Ashton-Tate managed by Esbar (source) sent letters demanding dBase audits, threatening to sue for non-compliance, and unpopularly, forcing companies to buy extra licenses for each computer the customers had, whether or not dBase IV run-time was installed or not. This lead to xBase vendors Clipper, xBase++ explosive success.
Ironically, Visual dBase 7 developed cancer in 2001, the year of the last BDE update. dBase has not emerged from ICU since then.