Search Results for: dbase plus

Dec 20

dmAssist™ Drag-n-Drop Video

By dbasellc |

dmAssist™ Drag-n-Drop Video

[clear h=”20″]
Thank you for checking out the new dmAssist™ capabilities! We’d like to reward your support by offering a complimentary invitation to our Online Training Seminar, “Working with dBASE™ PLUS 11” with every purchase of a NEW or Upgrade license to dBASE PLUS 11.
Dec 20

dmAssist™ Data Pane Video

By dbasellc |

dmAssist™ Data Pane Video

[clear h=”20″]
Thank you for checking out the new dmAssist™ capabilities! We’d like to reward your support by offering a complimentary invitation to our Online Training Seminar, “Working with dBASE™ PLUS 11” with every purchase of a NEW or Upgrade license to dBASE PLUS 11.
Dec 20

dmAssist™ Data Connections Video

By dbasellc |

dmAssist™ Data Connections Video

[clear h=”20″]
Thank you for checking out the new dmAssist™ capabilities! We’d like to reward your support by offering a complimentary invitation to our Online Training Seminar, “Working with dBASE™ PLUS 11” with every purchase of a NEW or Upgrade license to dBASE PLUS 11.
Dec 20

dmAssist™ Table Relationships Video

By dbasellc |

dmAssist™ Table Relationships Video

[clear h=”20″]
Thank you for checking out the new dmAssist™ capabilities! We’d like to reward your support by offering a complimentary invitation to our Online Training Seminar, “Working with dBASE™ PLUS 11” with every purchase of a NEW or Upgrade license to dBASE PLUS 11.
Dec 19

dmAssist™ Overview Video

By dbasellc |

dmAssist™ Overview Video

[clear h=”20″]
Thank you for checking out the new dmAssist™ capabilities! We’d like to reward your support by offering a complimentary invitation to our Online Training Seminar, “Working with dBASE™ PLUS 11” with every purchase of a NEW or Upgrade license to dBASE PLUS 11.
Dec 14

Language Support

By dbasellc |

French

Bienvenue à notre dernière mise à jour, dBASE PLUS 11! Nous sommes très heureux d’annoncer que nous avons mis à jour et considérablement amélioré le support de multiples langues dans dBASE PLUS 11!

German

Willkommen zu unserem neuesten Update, dBASE PLUS 11! Wir sind sehr aufgeregt zu verkünden, dass wir aktualisiert haben und deutlich verbessert die Unterstützung für die deutsche Sprache in dBASE PLUS 11!

Spanish

Bienvenido a nuestra última actualización, dBASE PLUS 11! Estamos muy contentos de anunciar que hemos actualizado y mejorado significativamente el apoyo a la lengua española en dBASE PLUS 11!

Italian

Benvenuti nel nostro ultimo aggiornamento, dBASE PLUS 11! Siamo molto lieti di annunciare che abbiamo aggiornato e notevolmente migliorato il supporto per la lingua italiana in dBASE PLUS 11!

English

Welcome to our latest update, dBASE PLUS 11! We are very excited to announce that we have updated and significantly improved the support for the multiple languages in dBASE PLUS 11!

[raw]

Try it free 30 days!

[/raw]

Dec 14

System Requirements

By dbasellc |

[raw] [clear h=”25″]

dBASE PLUS 12 System Requirements

Minimum Hardware

  • Processor
    • Intel Pentium or compatible CPU
    • 2GHz or faster 32-bit(x86) or 64-bit(x64) processor – Win 10
    • 2GHz or faster 32-bit(x86) or 64-bit(x64) processor – Win 8
    • 1GHz or faster 32-bit(x86) or 64-bit(x64) processor – Vista/7
    • 1GHz or faster 32-bit(x86) or 64-bit(x64) processor – XP – Not Supported
  • RAM
    • 2GB RAM (32bit) 4GB RAM (64bit) – Win 10
    • 2GB RAM (32bit) 4GB RAM (64bit) – Win 8
    • 1GB RAM (32bit) 2GB RAM (64bit) – Win Vista/7
  • Hard Disk
    • 1GB hard disk space for full install + space required by your dBASE programs and data
  • Video
    • SVGA or higher resolution display
  • Keyboard/Mouse
    • Microsoft mouse or compatible pointing device

Recommended Hardware

  • RAM
    • 4GB RAM or higher (32bit) and (64bit) – Win Vista/7/8/10
  • Sufficient hard disk space for your dBASE applications and data

Operating Systems

[ul bullit=”server.png”]
  • Microsoft Windows 10 (32bit and 64bit)
  • Microsoft Windows 8 (32bit and 64bit)
  • Microsoft Windows 7 (32bit and 64bit)
  • Microsoft Windows Vista (32bit only)
  • Microsoft Windows Server 2012 (32bit and 64bit)
  • Microsoft Windows Server 2008 (32bit and 64bit)
  • Microsoft Windows Server 2003 (32bit Only) – Not Supported
[/ul]

Try it free 30 days!

[/raw]
Dec 14

Microsoft Windows Compatibility

By dbasellc |

Microsoft Windows Compatibility

There are several differences using dBASE PLUS in Windows Vista and Windows 7 vs. Windows XP. These differences are laid out here in the following categories:

[accordion] [toggle title=”Windows XP is not supported starting with dBASE™ PLUS 9″]

Because Windows 7/8/10 require a new compiler and with Microsoft dropping support of Windows XP, we can no longer support dBASE™ PLUS running on Windows XP starting with our dBASE™ PLUS 9 release.

Windows XP is still supported on dBASE™ PLUS 8.

[/toggle] [toggle title=”General Info on Vista/7 Security modes and Manifest files”]

Security modes and Manifest files – includes basic information on the new security settings in Windows Vista/7

Overview

In Windows Vista and Windows 7, Microsoft has made substantial changes in how Windows handles security when starting a program.

In older versions of Windows, programs ran all the time with whatever security level the logged in user possessed. In addition, it was possible to startup Windows with a workstation only login that, by default, gave the user full access (i.e. administrator access) to everything on a workstation.

In Windows Vista/7, Microsoft has substantially tightened security as follows:

  • Vista/7 defaults to running a program with a fairly low privilege level even if the user logs in with a higher security level.
  • Via manifest files or embedded manifest resources, Vista/7 can be told the privilege level a program requires, in order to run properly.
  • The action Vista/7 takes when a program attempts to perform an action that requires elevated privileges can be configured via workstation or domain level security policies to:
    1. Prompt a user to login with elevated rights or administrator level rights when needed
    2. Terminate a program that attempts to perform an action that requires higher level rights
    3. Automatically elevate a program to a higher level if the logged in user has sufficient rights


While both Vista and W7 have the same basic security profile there are some siginificant differences between Windows Visa and Windows 7

  • Windows 7 is built upon the security foundations of the Windows Vista operating system while improving auditing and the User Account Control (UAC) experience.
  • Windows 7 helps IT control what software can run in their environment with AppLocker™.
  • Windows 7 enhances the core features of BitLocker™ Drive Encryption with the introduction of BitLocker To Go™ for removable storage devices.


More detailed information about Vista security and other compatibility issues is available at: http://msdn2.microsoft.com/en-us/library/aa480152.aspx
More detailed information about Windows 7 security and other compatibility issues is available at: http://technet.microsoft.com/en-us/library/dd571075(WS.10).aspx

[/toggle] [toggle title=”How to run dBASE PLUS IDE in Windows Vista/7″]

Running dBASE PLUS IDE – includes the best way to set up dBASE PLUS to run in Vista/7

includes the best way to set up dBASE PLUS to run in Vista/7

Generally, setting the requested execution level to ‘run as Administrator’ will allow existing dBASE and BDE Admin executables to run properly.

There are two ways this can be done :

1 Using the Manifest file’s ‘requestedExecutionLevel’ setting.

dBASE PLUS can be run successfullly on Vista/7 by installing the application manifest file that contains the appropriate requestedExecutionLevel setting. The BDE Administrator must also have a manifest file installed for it to run on Vista/7. (NOTE: dBASE PLUS installers from version 2.61.4 on up will automatically include the Vista/7 manifest files )

Instructions

All Manifest files must be installed in the same folder as the executable it is intended for.

The ‘Administrator rights’ manifest files for dBASE can be downloaded here : http://www.dbase.com/Manifests/ManifestAdminRights.zip

Save the plus.exe.manifest file in the same folder as the plus.exe file
(Default folder is C:\Program Files\dBASE\PLUS\BIN)

Save the plusrun.exe.manifest file in the same folder as the plusrun.exe file
(Default folder is C:\Program Files\dBASE\PLUS\Runtime)

Save the bdeadmin.exe.manifest file in the same folder as the bdeadmin.exe file
(Default folder is C:\Program Files\Common Files\Borland\BDE)

NOTES:
It is recommended that you re-boot your computer after adding the manifest files

When you install dBASE PLUS (from dBASE PLUS version 2.60 … up to 2.61.3) a Manifest file is automatically installed under the bin folder.
This Manifest file has the settings to allow the use of the Version 6 common controls in Windows XP (and Vista/7). If you already have this file make sure you delete it before installing the replacement Manifest file since the Vista/7 manifest file will also include these settings and you do not want to accidentally rename the new manifest file.

Vista/7 Manifest files are not compatible with XP operating systems.


Example: If you’d like to take a look, This is what the Vista/7 Manifest file for Plus.exe looks like.
(Note: the section in blue has the ‘requiredExecutionLevel’ setting required for Vista/7)


<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="PLUS.EXE" type="win32" /> <description>PLUS.EXE Manifest</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireadministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly>

2 Using the .exe’s ‘privilege Level’ setting.

Instructions

Right click plus.exe (Default folder is C:\Program Files\dBASE\PLUS\BIN)
– Choose ‘Properties’
– under the ‘Compatibility’ tab .. ‘Privilege Level’ setting
– click on the checkbox next to ‘Run this program as an administrator’ to turn it on.

Right click plusrun.exe (Default folder is C:\Program Files\dBASE\PLUS\Runtime) (follow instructions for plus.exe)

Right click bdeadmin.exe (Default folder is C:\Program Files\Common Files\Borland\BDE)
(follow instructions for plus.exe)

Windows XP SP2 compatibility mode for Vista

Another option that is available on Vista and Windows 7 is the ‘Windows XP SP2 compatibility mode’.
(NOTE: Though compatibility settings are available in both Vista and W7, there have been improvements in how W7 handles compatibility so the following is most likely not necessary in W7)

This was created to prevent the "This program might not have installed correctly" dialog box that shows for applications that are hard coded to look for the XP version.
If you are installing from the plus-setup.exe file then you should set the ‘Windows XP SP2 compatibility mode’ as detailed below for the plus-setup.exe file.

Also, The bdeadmin.exe file should be set to use the ‘Windows XP SP2 compatibility mode’. If you do not set the ‘Windows XP SP2 compatibility mode’ for the bdeadmin.exe, the manifest file (bdeadmin.exe.manifest) may be ignored when trying to run the BDE Administrator. This may cause any changes to be saved incorrectly when modifying the BDE Config file directly.

Right-click on an .exe name or shortcut – goto Properties – under the Compatibility tab – apply the Windows XP SP2 compatibility mode.

[/toggle] [toggle title=”How to run dBASE PLUS executables in Windows Vista/7″]

Running a Deployed .exe – includes the best way to set up dBASE PLUS deployed .EXEs to run in Vista/7

When deploying executables built with dBASE PLUS you may or may not need to use Administrator privileges to run your application. If you do not need to set the application to run with Administrator privileges, you can use any Execution Level setting that is appropriate for your application.

If you do feel your customer will need administrator privileges, you can again use option #1 or #2 under the Running dBASE PLUS IDE heading above.

When using option #1:
You must create a manifest file for your executable as well as for PLUSRUN.EXE.
The manifest file used for the app.exe can simply be the Plusrun.exe.manifest with…
1. a file name change, (<appname>.exe.manifest) and
2. within the manifest file text, replace the two instances of ‘plusrun.exe’ to ‘<app>.exe’

When using option #2:
You must make sure to set the properties for your executable as well as for PLUSRUN.EXE.
Otherwise you will get an error: Could not load PLUSRUN.EXE (code 740)

Running deployed .exe across a network

When launching an .exe built with dBASE PLUS that is stored across the network on another workstation or server you may get the ‘Unknown Publisher’ warning. At this time, the following options are available to suppress this warning:

  1. Rename your executable’s file extension from .exe to .dbw and then make sure that the .dbw extension has a file association setup with PLUSRUN.EXE. (This should be setup at install time for dBASE PLUS).
  2. OR

  3. In Internet Explorer from the Toolbar goto Tools | Internet Options. Under the ‘Security’ tab highlight the Local Intranet section. Click the ‘Sites’ button. Click ‘Advanced’ and add the server’s address to the list of trusted zones.


For future versions of dBASE PLUS we are looking into alternatives for ensuring they are installed as trusted applications on Vista/7.

[/toggle] [toggle title=”Visual Issues”]

Visual Issues – includes examples on the visual differences of dBASE PLUS objects in Vista/7 vs. XP

PushButton object – The pushButton Object now adheres to the foreground portion of the colorNormal property. In XP it does not.

TreeView object – In Vista/7 the TreeView object does not adhere to the foreground portion of the colornormal property. In XP it does.

ScriptMaker – If you are using ScriptMaker … the icons on the pushbuttons and on the toolbar are all white. There is an outline shape of what is there. But, no detail in the icons. However, with the new release of dBASE PLUS (2.61.2) a new Inno script maker called ‘Inno Script Generator’ is included. So far this application does not show any issues related to Vista/7.

[/toggle] [toggle title=”Performance Variations and Issues”]

Performance Variations and Issues – includes examples of the differences on some dBASE PLUS properties and methods in Vista/7 vs. XP

Some different behavior has been discovered with some functions or settings:

HELP System

Microsoft has released a Windows Help Program (WinHlp32.exe) for Windows Vista/7. This will allow Vista/7 to display 32-bit Help files that have the ".hlp" file name extension.

Click Here to download this program.

dBase, LLC. is working on support for HTML Help in an upcoming release of dBASE PLUS.


Open File or Get File:
In Vista any get file or open file dialog, the ‘Look in’ drop down list does NOT show the current folder until you choose one. Goto File | Open in the main IDE menu. Or Use GETFILE() function to see this behavior.


ScriptMaker
NOTE: if you are using ScriptMaker .. In Vista after opening a scriptmaker project – the moment the hScrollBar is moved to see the top ‘Inno’ Compiler button, this error comes up…
Scriptmaker (title) Integeruberlauf.

[/toggle] [toggle title=”Manifest File Samples”]

Download samples of Manifest files for dBASE and the BDE

[/toggle] [/accordion]

For additional information on upgrading from DOS to dBASE PLUS see these links:
http://www.dbase.com/Knowledgebase/INT/xb2vdb7oodml/x2oodml.htm
http://www.dbase.com/Knowledgebase/INT/xbase_to_sql/x2sql.htm

Knowledgebase documentation and tutorials:
http://www.dbase.com/dBase_beginning.asp
http://www.dbase.com/dBase_intermediate.asp
http://www.dbase.com/dBase_advanced.asp

Dec 14

Features in Depth

By dbasellc |

NEW: Touch Screen
Touch Screen dBASE™ PLUS 11 introduces support for the latest touch interfaces with improved tablet support.
NEW: Assist Technology
Assist Technology The new Assist™ technology will help users get more out of dBASE™ PLUS 11 in a shorter amount of time. The Assist™ functionality is focused on three main areas, Datamodules, Application Generation, and Printing.

The new Assist™ technology is woven throughout the dBASE™ PLUS 11 environment to increase velocity of getting work done.

NEW: dmAssist™
dmDataModule The new dmAssist™ – Data Module designer adds the most requested features.  Create Parent Child relationships with ease.  Add reports and other assets to the Data Module to keep a cleaner approach to managing your date footprint. The new feature comes with a simple drag & drop interface making getting to your data as simple as double-clicking.  Generate automatic reports with ease and output your data in any of the 5 available formats.
NEW: dmC.R.U.D.™
The new dmC.R.U.D.™ Application Generator allows developers to get to a starting point with managing data and gives a best-practices skeleton that works with the new Data Module Designer. The C.R.U.D. part stands for Create data, Read data, Update the data, and Delete the data.
NEW: dmOutput™
The new dmOutput™ – Data Output Generator allows users to get data out of the database in a few simple steps.  The output from dmOutput™ can be run-once or saved and updated using the report wizards built-in the dBASE product.

dmOutput™ supports automatic reports, outputting data from a table or query, output from a multi-table view, output of the object tree or any of the reports included with the DataModule being used.

NEW: dmWeb™
The new dmWeb™ found in dBASE™ PLUS 11 introduces the new Skeleton CSS Responsive framework for generating industry standard Web Apps. http://getskeleton.com/ The completely updated Web Wizards now under the dmWeb™ moniker allows dBASE users to get running with surprising speed of taking data-driven applications to the web.
NEW: Assist™ Technologies

The integrated Assist™ technologies are woven throughout the dBASE™ PLUS 11 product.  They are designed to help users be more productive and do more things with a little help to make designing, developing, and exploiting the awesome power of the DataModule technology found inside dBASE™ PLUS 11 as simple as possible.

NEW: dataButtons

New databuttons – Now dBASE™ PLUS 11 includes new databuttons_size_2016.cc.  This means you can have 24×24, 32×32, 48×48, and 64×64 data buttons and data bars with consolidated functionality.  In addition, if you still want to use the original databuttons.cc, which is still included.  The new images are packed in the new Resources file.

NEW: Programming Fonts

New Programming Fonts included specifically for programming code.  These fonts have been developed under the open font license and are free to distribute with your applications.  These fonts are true-type fonts made for windows but have a fixed width.  Most programmers notice the new fonts on higher resolution machines and clearer display of text.

NEW: Windows® Themes

Now with 10 Windows® themes, which are not only supported with the current dBASE™ PLUS 11, IDE but these look & feels can be published with end-user applications.  The shipping Look & Feel theme is called Office 3 Luna for dBASE.

NEW: Touch / Gesture Support

Touch / Gesture support allows for general touch features in dBASE applications, which support the default gestures, methods, and events.

[button url=”/video/dBASE_PLUS_11_Touch_Video.mp4″ bg=”EB1A22″ color=”FFF” bg_hover=”#EB1A22″ target=”blank”]Watch Video[/button]

Features in dBASE™ PLUS 10
GridEX (dGrid™)

dBase found and integrated a very powerful Grid component late in the development cycle and was able to get the base functionality in place. However, the new GridEx has a great deal more potential, but we want to work with the dBASE user community to help decide the most critical features that need to be implemented.

ListView

ListView is a brand new native data-aware dBASE component designed for efficient display of vertically scrolling lists of changing data.

Upgraded: Grid

We have added some small enhancements to the current Grid found inside dBASE. Things like highlighting the current cell focus and other cosmetic wants by the user community.

Embedded Runtime

One of the most requested features over the past 20 years, the product now allows developers to “embed” the dBASE Runtime into a single executable (.exe). This allows users to deploy dBASE applications without having to ship the runtime files. BDE libraries/files are still needed when using dBASE, Paradox, or ODBC access to tables. ADO does not require the BDE!

BDE Only Installer

This highly requested features allows for ultimate control over the install process when using Project Explorer. Use the Embedded Runtime with or without the BDE, all can be done with a click of the mouse.

Updated: Resource Handling

dBASE now allows developers to pull additional resources out of a resource.dll for better portability and eased of deployment. By adding the /png to the command dBASE now has the ability to pull .png graphic from a resource dll, which adds significant upgrade to .bmp in size and quality. In addition, these resources also handle the Alpha color channel properly and work great with the new Resource Libraries included in the product.

Updated Compiler

The Massively Updated Compiler and Interpreter allows for a great many new features and functionality. The updated compiler now supports symbol names to contain 255 significant characters (up from 32 previously). It improves the symbol tracking and lookup speeds, which decreases both compilation time and execution time of dBASE code and:

  • expands the number of distinct symbols that can exist simultaneously up to 2^30 symbols (up from 32K previously)
  • expands the number of procedure files that can be loaded simultaneously up to 2^31) (up from 2K previously)
  • removes previous limits on size and complexity of individual source files
  • takes advantage of faster and larger memories in today’s computers to speed up compilation and minimize number of disk writes
  • upgraded dBASE Object Code File format to handle all of the above changes
dBugger™

The new debugger now adds the same look and feel of dBASE, plus includes the same editor that dBASE uses for better productivity and ease of use. The new dBugger™ 1.0 adds a new communications channel between dBASE and the dBugger™ to allow for faster execution during debugging and removing many of the deadlock situations that occurred in the older debugger. In addition, it also introduces the new fly-by inspection feature that allows for fast variable and object inspection. It is also being compiled with the same compiler as the dBASE product thus making it much more stable over prior included debuggers. It also introduced better window handling for Watches, Variables, Trace, and Call Stack operations.

Image Editor

The Navigator now includes a built-in advanced Image Editor called Fotografix. This open source product will allow users to modify existing images or create new images to be used inside their dBASE PLUS 10 creations. If you already have an Image Editor defined in Windows, no problem, dBASE will use it instead but still give you the option to use Fotografix for advanced image processing whenever it is needed.

Updated: dComplete™ 2.0

dComplete™ 2.0 has been completely updated to support more dBASE specific coding structures. It now supports more commands in the command window, better filtering inside the code editor, and a more complete listing of objects, methods, and events.

Royalty-FREE Images

These new libraries are based off of the open source Google Modern application specification and are open source and royalty-free for use in your internal and external applications. They have been conveniently located in easy to use Resource dll(s) for ease of deployment.

dBASE™ PLUS 10 Help

dBASE™ PLUS 10 now includes integrated Web help. This makes it easier to find crucial information in a timely manner. The help system has also been updated with the latest material on getting the most out of the latest release of dBASE!

Bug fixes

dBASE PLUS 10 is built on the quality of dBASE PLUS 9.5.1 and has continued to fix known bugs, and add, update, and replace features to make the product easier to use and give the users the ability to build cutting-edge Windows® based data-aware applications.

Additional Features in dBASE™ PLUS 10
Advanced Programmers Editor™

The new editor in dBASE PLUS brings new programmer functionality that will help developers increase their productivity and get their jobs done faster and with more consistency. The new editor has an extensive list of valuable built-in features reading dBASE code easier than ever before. Some of these great features include:

  • End of Line: (now know where the end-of-line mark is)
  • Code Folding: (lots of code, reduce the length and focus on only the code you need)
  • Indentation Guides: (help better document the code)
  • Line Numbers: (Know the exact line number in the code and use in combination with bookmarks)
  • Comment line: (Simple key-combination for commenting out a line or uncommenting a line)
  • Comment Block: (Simple key-combination for commenting out a block of code or uncommenting out a block of code)
  • Make selection upper case: (Simple editor tool, make the selected text ALL UPPER CASE)
  • Make selection lower case (Simple editor tool, make the selected text all lower case)

dComplete™ – Code completion for dBASE!

The #1 requested feature of dBASE, code completion. Now dBASE PLUS has dComplete™ our version of code completion, code insight, intellisense, or whatever you want to call it, is now available inside dBASE. dComplete™ is very useful in the new editor, when the prediction is based on a list of words in one or more languages. dBASE PLUS displays the technical texts a word list of terms in that field is used and auto-fills the text in place. dComplete™ speeds up human-computer interactions in environments to which it is well suited.

dBlocks™ – Code snippet insertion for dBASE!

Allows users to use code-shortcuts to enable snippets of code to be inserted in to the editor. Not only does this save time and speed development it also reduces common typing mistakes. dBlocks™ can be user-enhanced with individual additions to the dBlocks™ file.

60% more keyboard editor commands

Productivity is all about not breaking the flow and dBASE PLUS increases the number of functions that can be accomplished in the new editor with keyboard shortcuts. No longer having to stop typing to click the mouse to do an operation, now just combine a few keys and get the operation done fast!

CTRL-{num pad} + (zoom bigger) CTRL-{num pad} – (zoom smaller) CTRL-Q (Toggle Comments – lines or blocks) ALT-SHIFT-{arrow keys} (Column selecting and highlighting going up) ALT-SHIFT-{arrow keys} (Column selecting and highlighting going down) Plus many, many more options…

Zoom in the Editor CTRL-{num pad} + (zoom bigger) CTRL-{num pad} – (zoom smaller)

Toggle Comments on/off in the Editor – CTRL-Q (Toggle Comments – lines or blocks)

dPreview™ – print preview functionality

Now preview what could be printed before wasting paper. This feature works with dBASE Forms, Programs, or Reports. Click for CTRL-P to preview, then click the Print to finish the task.

dLocator™ – Find in files functionality

Now allows for incremental search, faster search and replace, and also brings the Search in Files features to the product.

dBabel™ – multi-language editing support (BETA)

No need to have multiple editors on a machine now, dBASE can handle the work. The new editor allows various other languages to be worked with from within the IDE. These languages include xBASE and dBL of course, but it also allows for plain Text, SQL, JavaScript, HTML, XML, and others. The support currently brings context sensitive highlighting, code folding and other coding tools to dBASE 9.

dExtract™ – extract code, forms, reports to new file types

The new editor now allows you to export out your source code, forms, reports, etc. in various useful formats that make working with and sharing much easier and safer than before. The new output formats include HTML, RTF, PDF, LaTex, and XML.

Code Hints – Help docs as quick as a mouse hover

The new editor will now display code hints to help people create code quickly with updated material from the documentation.

Application Look & Feel

The new dBASE PLUS IDE with the new Look & Feel introduced with dBASE PLUS 8, now allows those UI Themes to be used in your projects as well. A couple of lines can be added to the shipping applications .ini file or use the Project Manager to add the specific UI Theme during the build process.

[button url=”#” bg=”EB1A22″ color=”FFF” bg_hover=”#EB1A22″ target=”blank”] New in 9.0 [/button]

Code Folding

Code Folding: (lots of code, reduce the length and focus on only the code you need).

Line Numbers

Know the exact line number in the code

White Space Indicators

Now with one ‘.’ representation, know exactly where the spaces are in a line, used in combination with End of Line Indicators and Indentation Guides makes a very powerful set of tools.

End of Line Indicators

Know where the line ends and how it was ended. The End of Line Indicators work in combination with White Space Indicators and Indentation Guides.

Indentation Guides

Well-defined and well-structured code makes it easier to read and ultimately understand. Use the new Indentation Guides to ensure code is lining up from line to line and from indentation to indentation.

Customization

dBASE PLUS allows the new editor to be fully customized, which allows the users to make the environment fit their personalities and make using the product easier, faster, and more enjoyable to use.

Full Context Highlighting

Simplify the readability and understanding with full Context Sensitive Highlighting of dBASE programs as well as other programming languages. dBASE PLUS now gives the ability either through the configuration property editor or through the properties files the ability to customize the display of information for easier consumption.

dbfExplorer™

This new dbf Utility allows users to quickly see what the dBASE file extensions are all about. Now with this Windows® plug-in the user can click on a dBASE based file and understand in depth information about the file and its extension.

Multiple Language Support

dBASE 8.1 brings back the popular Multi-lingual support that users of dBASE have come to expect. The latest release of dBASE adds back the support for German, Japanese, Italian, Spanish and of course the default language of English.

[button url=”#” bg=”EB1A22″ color=”FFF” bg_hover=”#EB1A22″ target=”blank”] New in 8.1 [/button]

Enhanced ActiveX Support

dBASE 8.1 has enhanced the ActiveX capability in every way. ActiveX support has been limited over the past couple of releases. Microsoft® has changed many of the underlying frameworks and interfaces and now dBASE better supports well-behaved ActiveX controls and automation.

[button url=”#” bg=”EB1A22″ color=”FFF” bg_hover=”#EB1A22″ target=”blank”] New in 8.1 [/button]

Component Updates

dBASE 8.1 updates a number of key components to enhance the capability of prior releases. Updates to Notebook and Menus allows users to use the components as they expect.

[button url=”#” bg=”EB1A22″ color=”FFF” bg_hover=”#EB1A22″ target=”blank”] New in 8.1 [/button]

BDE Alias Wizard

dBASE 8.1 introduces a new level of convenience with the addition of the User BDE Alias page found in the Desktop Properties dialog. Now there is no need to jump into BDE Administrator to add a User Alias.

[button url=”#” bg=”EB1A22″ color=”FFF” bg_hover=”#EB1A22″ target=”blank”] New in 8.1 [/button]

Revised Graphics Engine

dBASE 8.1 introduces a new internal graphics engine that allows for better support of the most commonly used graphics formats available today. This means support for BMP, PNG, ICO, GIF and others like animated GIF format.

[button url=”#” bg=”EB1A22″ color=”FFF” bg_hover=”#EB1A22″ target=”blank”] New in 8.1 [/button]

High Precision Math

Implemented via 128 bit decimal floating point numbers that support up to 34 digits of precision. A decimal floating-point number is stored using a base 10 value, which reduces conversion errors that normally occur switching back and forth to base two floating-point values.

ADO Support – Components

Being able to use an ADO data source is great, but we did not stop there. We have also added in several custom ADO components that make working with ADO a breeze in dBASE PLUS.

ADO Support – Connectivity

More has changed under the hood of dBASE PLUS than just support of Microsoft’s latest operating system. We have also added support for connecting to ADO datasets.

ADO Support – UDL

The new support for ADO includes the ability to create and use Microsoft based UDL files. A UDL File stands for universal data link (.udl) file is essentially a text file that contains the connection string for an OLE DB data source. This connection string can then be loaded into dBASE and used by the components and tools to connect to ADO data sources.

Drag and Drop SQL Builder

Completely redesigned, the SQL Designer can be used to quickly pull all of your data together in a visual way. You can see the relationships between each dataset, and create result sets that meet the true business needs of your application.

Addition of ActiveX Controls

dBASE has always had the ability to run ActiveX controls since they were introduced by Microsoft. dBASE has started to add additional ActiveX controls to the product to fill-in areas of functionality that is currently missing from the standard components included in dBASE PLUS.

The new controls are focused on areas people have requested:
  • dJvClockX Control – A quick clock control for standing time management. Support both digital and analog look and feel, support Dates, and it also has full support for Alarms.
  • dJvDriveComboX Control – This is a simple window Drive combobox. It will show all the registered drives on a system. Find and interact with those drives in a couple clicks.
  • dJvDirectoryListBox Control – This is a Directory listing component and can be easily connected to the dJvDriveComboX component. This will allow for traversing a drive and directory on a registered drive. Many advanced features are included with its Properties, Methods, and Events.
  • dJvFileListBoxX Control – dJvFileListBoxX is a file listbox that shows all of the files inside a particular directory on a registered drive. This component works very well with both the dJvDriveCombo Control and the dJvDirectoryListBox control. This component has many advanced features that are exposed from its Properties, Methods, and Events.
  • dJvRichTextEdit Control – Have full RTF capability with the ActiveX control.
dBASE PLUS also supports 3rd party ActiveX components. The .ocx or .dll that are accompanied with the ActiveX’s must be deployed with your application.

Tool Palette Docking Support

In addition to supporting themes inside of dBASE PLUS, it also support docking of tool windows. Therefore, tool windows like Component, Format, Fields, and the Inspector can now be docked to the sides of the screen, stacked on top of each other with a tab interface, or strategically laid out to the developer content. In addition to supporting tool windows, the product also supports movable menus as well.

i
Updated Look and Feel

dBASE PLUS now includes an updated and modernized interface. These additional features include new professional icons, updated wizard graphics, and support for Microsoft Themes. The product appearance has been updated as the new default theme is based on the black color scheme, which is configurable by the user at any time including while the product is running.

Backgrounds and Textures

dBASE PLUS has a wide range of new graphical features, that include Icons, Application Themes, new components, and also new textures. Developers can now use these textures to create modern looking interfaces that are very common today. These textures are used in the background property of the form and the product supports all common window sizes for easy application building.

Included Glyfx Icons and Graphics

There is more to staying current than just maintaining functionality. While the user interface for dBASE PLUS has itself been enhanced to look more modern, we realize that the applications dBASE users have created also need to be updated with the times. That is one reason dBase, LLC has partnered with Glyfx to provide a rich set of visually stunning graphics that can be used to enhance the look of any dBASE application.

Modern Application Themes

The new IDE supports Microsoft’s themes, these are packaged colors, fonts, and window looks. The current themes supported in dBASE PLUS include most of the standard themes using in Microsoft office 2007 and 2010.

Enhanced Project Navigation

One of the important features of an MDI interface, which dBASE PLUS is based, is the ability to quickly find Windows, Wizard, tool windows in the interface. The new Window tab manager can be customized to the developer’s desire and really help find and manage open windows.

Project Explorer

The updated project file allows users to build applications with all needed resources (tables, forms, queries, bitmaps, and so on). In addition to keeping things organized, having a project file lets you Compile and build a project. It also allows you to set properties for the project as a whole and set properties for individual files. It will allow you to designate which file should be the first to open when your executable file is run.

Revised Help System

Getting help when and where you need it is important to everyone. In dBASE PLUS we have updated the content and enhanced the in app help system just as we have been expanding our available training solutions for dBASE users. Knowing how to get things done right in dBASE PLUS is as important to us here at dBase, LLC as it is to you.

Running on Windows 8 and Windows Server 2012

One of the biggest concerns on the minds of current dBASE users is the future. Will dBASE continue to work on future operating systems. With dBASE PLUS, we have certified that all major and minor features of the product continue to work well on Microsoft’s latest operating system, Windows 8.

Callbacks

A callback allows you to write a function or method in dBL code and setup a pointer to it that can be passed to an external program – such as Windows or the BDE or some other 3rd party software that supports callbacks. Callbacks can be used to notify your program of specific events occurring with an external program OR to allow your program to modify what an external program is doing.

Core Features

Build Options
Conversion Tools

These are included tools to help migrate from prior releases of dBASE.

Build Web Application

Specialized tools for building applications for the web.

Runtime Engine

Allows dBASE application exe’s to be deployed and run on user’s workstations, servers, and web-servers.

Just-In-Time Compiler

Compiles source code into a highly compact object code (also called “byte code”) either on demand or only when needed – prior to running it.

Integrated Debugger

A debugger that has a graphical user interface inside of the development environment and is a used to test and debug other programs (the ‘target’ program).

Virtual Machine Interpreter

A highly optimized interpreter for executing dBASE object code (byte code) that has been generated by the dBASE compiler.

Tool Features
Command Window

The Command window is used to directly execute one-line dBL commands. It is handy for testing simple expressions and immediately seeing the results in the results pane.

Navigator

The Navigator provides a visual way to create, locate, access, and open individual files. It also lets you establish your working directories and search paths.

Form Designer

The form design window is a visual design surface on which you position the components you need for your form, then set their properties in the Inspector and code their event handlers and other methods.

Report Designer

The report window is a visual design surface to which you drag and drop the components you need for your report, then set their properties in the Inspector.

Menu Designer

Building basic menus through the designers is a simple two-step process of adding items, then adding code to make the items do what you want them to do.

Label Designer

Use the Label designer to create labels and other reports that use more than one report band.

Source Code Editor

The Source editor lets you view or edit code for any dBASE Plus form, report, menu, query, data module, program, or any other type of text file.

OLE / COM / ActiveX support

3rd party libraries support for extending dBASE applications.

Data Manipulation
Table Designer

Use the Table designer to design or restructure a table.

Data Module Designer

The Data Module design window is a visual design surface for designing data modules that you can use in your forms, reports, and labels.

Data Access Classes(Session, Database, Query, Rowset, Field, StoredProc and Datamodule)

A set of non-visual classes that make working with databases easier.

ODBC Support

dBASE can interact with any ODBC (Open DataBase Connectivty) data source and manipulate its data.

Support for Native dBASE Tables (Levels 3,4,5 and 7)

Supports all dBASE DBF table structures from level 3 thru level 7.

Support for Paradox Data

dBASE can interact with Paradox data structures.

Support for FoxPro and Visual FoxPro Data

dBASE can interact with FoxPro and Visual FoxPro data structures.

Customize Solution
Visual Object Classes

A set of components that are visual in design and make creating Microsoft Windows applications fast and easy.

Operating System classes

A set of components that allow for simple integration to the underlying Operating System items like the File System.

xBASE language support

One of the first functional database programming languages that the dBASE product pioneered.

dBL (dBASE Language)

dBL (dBASE Language) is an object Oriented language for building rich database applications in dBASE.

Local SQL

Local SQL (sometimes called “client-based SQL”) is a subset of ANSI-92 SQL for accessing DB (Paradox) and DBF (dBASE) tables.

[raw]

Try it free 30 days!

[/raw]

Dec 13

Read Me First FAQ

By dbasellc |

[raw]

dBASE™ PLUS 11 – Read Me First FAQ

Version Updates:

[accordion] [toggle title=”dBASE™ PLUS 11 – Version 11.3 FIXES”] IDE

Issue #2438
Fixed – Office3 themes do not correctly paint titlebar when system menu is turned off for form

Issue #2432
Fixed – With office3 theme … automatically setting form.visible to false does not work

Issue #2434
Fixed – limited characters in ‘other’ tab in Navigator

ADO

Issue #1988
Fixed – ADOQuery – invalid argument for value with parameter having a negative value

Forms, Reports and objects

Issue #2455
Fixed – Cannot properly select a row in a grid after resizing row then query.requery()

Issue #1798
Fixed – Impossible to resize Col grid when using drag effect. this goes back to at least 2.8

Issue #2437
Fixed – Add a plain text Editor to dBASE Plus. added a property called textType to the existing Editor class to select the mode or language to use via a dropdown list:

0 – HTML
1 – Plain Text

Issue #2460 and 2461
Fixed – Cannot drop items from UI controls onto an editor using drag and drop (no allowDrop property …)
Editor – Add method to get current cursor position as an offset into the editor’s value

// TestEditorDrop.wfm showing how to use new feature..
** END HEADER -- do not remove this line
//
// Generated on 06/12/2017
//
parameter bModal
local f
f = new EditorDragDropForm()
if (bModal)
f.mdi = false // ensure not MDI
f.readModal()
else
f.open()
endif

class EditorDragDropForm of FORM
with (this)
height = 14.8636
left = 3.1429
top = 5.1364
width = 45.5714
text = "Drag and Drop to Editor"
endwith

this.LISTBOX1 = new LISTBOX(this)
with (this.LISTBOX1)
onDrop = class::LISTBOX1_ONDROP
onLeftMouseDown = class::LISTBOX1_ONLEFTMOUSEDOWN
height = 5.1364
left = 1.0
top = 0.5
width = 21.1429
id = 103
colorHighLight = "HighLightText/HighLight"
dataSource = 'ARRAY {"Apples","Oranges","Kiwi","Papaya","Pineapple","Cherries","Peaches","Nectarines","Apricots"}'
dragEffect = 1 // Copy
allowDrop = true
endwith

this.EDITOR1 = new EDITOR(this)
with (this.EDITOR1)
onDragBegin = class::EDITOR1_ONDRAGBEGIN
onDragEnter = class::EDITOR1_ONDRAGENTER
onDragOver = class::EDITOR1_ONDRAGOVER
onDragLeave = class::EDITOR1_ONDRAGLEAVE
onDrop = class::EDITOR1_ONDROP
height = 8.2727
left = 1.0
top = 6.0
width = 43.0
value = ""
endwith

this.ENTRYFIELD1 = new ENTRYFIELD(this)
with (this.ENTRYFIELD1)
onLeftMouseDown = class::ENTRYFIELD1_ONLEFTMOUSEDOWN
onRightMouseDown = class::ENTRYFIELD1_ONRIGHTMOUSEDOWN
height = 1.0
left = 24.0
top = 0.5
width = 20.0
value = "dBASE Rules!"
dragEffect = 1 // Copy
endwith

this.PUSHBUTTON1 = new PUSHBUTTON(this)
with (this.PUSHBUTTON1)
onClick = class::PUSHBUTTON1_ONCLICK
height = 1.4545
left = 24.0
top = 2.5
width = 20.0
text = "Toggle AllowDrop"
endwith

function EDITOR1_onDragBegin()
? " - EDITOR1_onDragBegin()"
return

function EDITOR1_onDragEnter(nLeft, nTop, cType, cName)
? " - EDITOR1_onDragEnter() cType=",cType,"cName=",cName
//if cType = "T" or cType = "F"
//if cType = "T"
this.drageffect = 1
//else
// this.drageffect = 0
//endif
return this.drageffect

function EDITOR1_onDragLeave()
? " - EDITOR1_onDragLeave()"
return

function EDITOR1_onDragOver(nLeft, nTop, cType, cName)
? " - EDITOR1_OnDragOver()"
return

function EDITOR1_onDrop(nLeft, nTop, cType, cName)
? "In EDITOR1_ONDROP()"
? " cType=",cType, "cName=",cName
if cType = "T"
offset = this.getOffset()
if offset >= 0
cStr = substr(this.value, 1, offset)
cStr += cName
cStr += substr(this.value, offset+1)

this.value = cStr
endif

return false // prevent default drop from executing
endif

// return True to allow default processing of cType = 'F' (file dragged)
return TRUE

function ENTRYFIELD1_onLeftMouseDown(flags, col, row)
? "In ENTRYFIELD1_ONLEFTMOUSEDOWN()"
this.drag( "T", this.value, "")
return

function ENTRYFIELD1_onRightMouseDown(flags, col, row)
? "In ENTRYFIELD1_ONRIGHTMOUSEDOWN()"
this.drag( "T", this.value, "")

return

function LISTBOX1_onDrop(nLeft, nTop, cType, cName)
if cType == "T"
this.dataSource = 'ARRAY {"Apples","Oranges","Kiwi","Papaya","Pineapple","Cherries","Peaches","Nectarines","Apricots"'+',"'+cName+'"}'
return true
endif

return false

function LISTBOX1_onLeftMouseDown(flags, col, row)
// Start the drag process:
? "In LISTBOX1_ONLEFTMOUSEDOWN()"
this.drag( "T", this.value, "" )
return

function PUSHBUTTON1_onClick()
this.parent.EDITOR1.allowDrop = not this.parent.EDITOR1.allowDrop
return

endclass

[/toggle] [toggle title=”dBASE™ PLUS 11 – Version 11.2.1 FIXES”] Issue #2429
Fixed – Crash connecting to ADO Firebird database

[/toggle] [toggle title=”dBASE™ PLUS 11 – Version 11.2 FIXES”] IDE

Issue #2224
New Feature – Added “Web” tab to Navigator

Issue #2367
Fixed – Repaint of non-client area buttons in Report Designer window during resize

Issue #2391
Fixed – dmOutput is appearing on File menu when running dBASE application

Issue #2344
Fixed – Autocomplete in command window is executing commands early. Will no longer execute current command line when pressing Enter to select autocomplete option

Issue #2409
Fixed – AutoComplete – wrong options are displayed in Source Editor after typing class::

Issue #1999
Fixed – dComplete – Avoid adding parentheses when assigning function/method to event property

Issue #2410
Fixed – AutoComplete – “CLASS” keyword not available when assigning event handler to event property
Issue #2408
New Feature – Added ability to popup list of autocomplete options when user types SET( or SET(“

Issue #1967
Fixed – Changed default for ADODatabase.SchemaName to be an empty string instead of “dbo” for a Microsoft SQL Server ADO connection. This enables displaying tables from all schemas within a database in the Navigator and in other table lists throughout the dBase user interface.
Table names will now be prefixed with their schema as in:
[schema].[tablename]
Issue #2103
Fixed – Inspector, Component and Field palettes left open when in ‘autohide’ mode after closing report designer or other designers

Issue #1706
New Feature – Upgraded Navigator Look-In to allow source alias to be entered or selected to choose a folder. Source aliases will be included in drop-down list for tabs other than “Tables” tab

Issue #2304
Fixed – Regression in Command WIndow – editing and re-executing a previous command does not display command at bottom of command list. Additionally, editing previously entered command and than executing it will preserve previous version of command in its original location, and copy the revised command to the bottom of the list of commands and execute it

Issue #1290
Fixed – “Execute Selection” in Command window context menu only executes the last line selected. Will now execute all selected lines in sequence

Issue #2304
Fixed – Added code to handle case where command lines pasted in with multiple end of line characters work correctly

Issue #2374
Fixed – Project Explorer “empty folders” on the Defaults tab. Folders now show when opening Project

Issue #2373
Fixed – Project Explorer – INNO – ‘Add a File Entry’ …. changed *. to *.*

Issue #2375
Fixed – Project Explorer – INNO – Defaults Tab – ‘Installer Name’ should be ‘App Name’. This setting is used to set the {App} folder during install. The Installer name is derived from this name and is called _Installer

Issue #1320
Fixed – Starting with dBASE Plus 8 – command window takes focus every time. Changed internal setting for MDI TabBar to return to the last active window

FORMS, REPORTS and VISUAL COMPONENTS

Issue #2285
Fixed – GPF that occurred when pressing Shift+F10 or Popup Menu key (on keyboard) on form control

Issue #2372
Fixed – Ability to tab from control to control when multiple comboboxes are on form

Issue #2402
Fixed – Ability to tab from control to control on form with smallTitle = true and mdi = true

Issue #2404
Fixed – b2538 – tabbing (using tab or cuaenter off with ‘enter’ ) – with showTaskBarButton = false and mdi = false … does not work

Issue #2405
Fixed – b2538 – Tab is suppressed when tabbing from a ComboBox with style set to 2 (DropDownList)

Issue #2394
Fixed – dBASE crash when setting up lookupRowset. Will now trigger new error: 445 – Recursive lookup in LookupRowset

Issue #2415
Fixed – Tab does not work in Grid on forms with mdi = false and either smalltitle=true or showTaskBarButton=true
Issue #891
New Feature – Added new property: column to each GridColumn control and heading control in a Grid. Column contains an object reference to control’s GridColumn object

Issue #2418
Fixed – Restored behavior of pushbutton’s on Enter triggering pushbutton’s OnClick() when CUAENTER is OFF

Issue #2252
Fixed – Simple form with editor object is left painted after its closed and the current application theme is one of the Office3 themes

Issue #2420
Fixed – dBASE Crash when closing 2 different forms containing numerous transparent controls. Crash was due to a regression in the fix for issue #1916 which resulted in an internal pointer for an array getting double released when an ADODataShape object is released

Issue #2422
Fixed – with cuaenter off and showTaskBar false … hitting enter key inside an editor as you type … moves to next object rather than next line in the editor

Issue #2423
Fixed – Tab key with Editor.cuaTab = False still moves focus to next control after inserting tab into editor

ADO

Issue #2352
Fixed – ADOQuery select statement with a space before the Select and using named parameter produces errors. Added code to left trim SQL statement before its parsed

dmAssist (Datamodule Designer)

Issue #2401
Fixed – dmAssist issue – unable to create component. Fixed error that occurred when closing dmAssist after tabbing through data grid far enough to scroll grid horizontally and than clicking on close button for dmAssist window

Issue #2414
Fixed – dmAssist – Tab key in data grid is ignored

Issue #2289
New Feature – Added: Width and Height properties to data classes to preserve width and height of query, adoquery, and other objects in datamodule designer in dmAssist. This allows the layout of the data objects to be more fully saved so they can be fully restored when later opening a datamodule into dmAssist

OTHER (Commands etc.)

Issue #2416
Fixed – Fix MKDIR and RMDIR so they can use path in a variable (without using macro operator). Fixed parser so MKDIR and RMDIR will work correctly with a variable that is enclosed in parenthesis:

For example:
MKDIR (newDirVar)
RMDIR (oldDirVar)

Issue #1943 Fixed – Special circumstance where testing 0.00000 is less than or equal to a negative number is returning true. The zero value was actually a very small value, 3.5527136788005009e-015, which is smaller than the default precision of 10 significant digits. [/toggle] [toggle title=”dBASE™ PLUS 11 – Version 11.1 FIXES”] IDE

Issue #2157
dmAssist – Datamodule designer – Additional fixes to ensure images loaded for treeitems, load correctly

Issue #2021
Fixed – temp error while creating event handlers in a report while designing

DEBUGGER

Issue #2360
Fixed – watch dialog no longer working in dBASE 11
FORMS/REPORTS

Issue #2238
Fixed – Non-mdi form with custom menu does not show assigned bitmaps for menu options

Issue #2350
Fixed – Menu image/icon is not showing for regular mdi form

Issue #2351
Fixed – Using the tab key does not return to the pushbutton as you tab through the Z order

Issue #2362
Fixed – bitmap issues on pushbuttons – if systemTheme is false – dbase crashes

Issue #2294
Fixed – Title bar in form not updating when it’s changed while running

Issue #2349
Fixed – with SET CUAENTER OFF and form.MDI = false, ENTER key does not move from field to field in a form

[/toggle] [toggle title=”dBASE™ PLUS 11 – Version 11 FIXES”] NEW PROPERTIES, EVENTS or METHODS

IDE…

Issue #2095
Enable Redo in the Source Editor

FORMS, REPORTS and COMPONENTS…

Issue #58
Added OnDisplayChange() event to class FrameWindow, Form, and SubForm.
OnDisplayChange() will fire when a change is made to Windows Display Settings – such as changing resolution or color depth or when the screen is rotated

Issue #2032
Added new property, themeBackground to PushButton class.
When True (the default) pushButton’s background uses the current theme’s background.
When themeBackground is False, the background color from the colorNormal property is used.

Issue #None
new session property .. _app.session.isAlias(). A test to see if an alias exists.

FIXES

IDE…

Issue #1986
Added: .sql, .txt, ,prj, and All (.) to list for save file dialog.

Issue #2007
Fixed ability to display and hide Inspector for class Designer so it works with the current version of the Inspector

Issue #1933
Fixed ability for dBASE to detect a tap gesture as well as other default gestures on Windows 10

Issue #773
Surfaced the following gesture events in class Form, Subform, and all form components that have their own hWnd:
OnGestureZoom()
OnGesturePan()
OnGestureRotate()
OnGestureTwoFingerTap()
OnGesturePressAndTap()

Issue #2040
Fixed popping up inappropriate autocomplete options after typing a close parenthesis at end of line of code that started with a ?
Additional fix when typing on right side of assignment operator
Issue #1931
Fixed typo: “roperty” to “Property” in context menu for Inspector for Field within Table Designer when designing a level 7 dbf file.

Issue #1940
Fixed – Preprocessor setting in Project Explorer doesn’t get compiled.

Issue #1939
Fixed – report streaming code is removing an added object to a report based on a crp – Fixed Report Designer reloading report’s superclass instead of its class after editing event handler in source editor

Issue #1877
Fixed MAV (on Win 10) when reloading Report Designer after editing event handler for Report Component

Issue #1942
Fixed problem causing linkage for new event handler to be lost when closing source editor and switching back to report designer_mediator

Issue #None
Corrected Translation of text string in Spanish version of Source Editor Settings dialog

Issue #1945
Fixed – Add IDE element to Project Explorer to allow user to add preprocessor directives.

Issue #1901
Fixed – Pasting component on scrolled form no longer sets top to a negative value.

Issue #1954
Fixed – components in form in designer change position when moving components below the bottom of the form upwards

Issue #1960
Fixed streaming of report’s superclass into CLASS statement when report is based on a custom report class and user runs report and then switches to design mode

Issue #2008
Fixed – Implemented option to not search subfolders within dBASE Find In Files… dialog

Issue #2154
Fixed – In Navigator drop down list of paths/databases .. hovering over a path/database shows as blank

Issue #2078
Fixed – Command window not deleting history

Issue #2100
Fixed – modi comm in command window adds a space in the file it opens in SE

FORMS, REPORTS and VISUAL COMPONENTS…

Issue #398
Upgraded pushbutton class so the background color from the colorNormal property works to set background color of button when systemtheme is True.

Issue #2006
Fixed “Invalid Bookmark” error that occurred when changing a grid’s datalink from a query.rowset to an adoquery.adorowset
Issue #None
class subform, added properties:
scaleFontName
scaleFontSize
scaleFontBold

Issue #1923
Fixed – listview in .exe with built in runtime (RTEXE) does not show groups as long as the app.exe.manifest file is included with the app.exe and is making sure to include version 6 common controls. the ListView object on a form will show the groups.

Issue #1935
Fixed Entryfield Function and Picture properties so that when they are modified they invalidate control’s window instead of recreating the window (which was incorrectly changing position of control window when form has been scrolled vertically)

Issue #1930
Fixed setting superclass for report in report designer when reloading designer after editing event handler in source editor

Issue #1921
Fixed disappearing numerals when using a picture setting of ’99’ on an entryfield

Issue #1734
Fixed inserting of template characters when formatting entryfield value when function code “I” – Center is used

Issue #1459
Fixed checking/unchecking menu item when menu is attached to _app.framewin

Issue #2237
Fixed – Edit menu options do not work correctly for a form with a custom menu (mdi or non-mdi)

Issue #2264
Fixed – Fixed crash on themed notebook in dBASE application and follow on crash as well

Issue #None
On SDI form (non-mdi), made menu able to dock to bottom,right, or left side of form – not just top

ADO…

Issue #1916
Fixed – ADO params using the same parameter reference twice does not work.

Issue #1932
Fixed ? command so it correctly retrieves and formats data from a MySQL LongText field

Issue #1957
using numbered parameters causes invalid subscript reference.
Issue #1993
Fixed – get MAV setting adostoredProc variable to null, or releasing adostoredProc variable. Also after database is closed and app is finished

Issue #2033
Fixed – adoStoredProc causing crash when trying to reference the adoStoredProc Rowset

DEBUGGER…

Issue #1990
Fixed – After deleting a watch variable it remains in the watch dialog

Issue #1922
Debugger – Fixed ability to edit and use breakpoint expressions

Issue #1922
Fixed Save and Load of Breakpoint settings to and from plusdebug.ini to correctly handle file paths with embedded commas, conditions with embedded commas, and global breakpoints.
Fixed code that updates BreakPoint Dialog’s ListView control after adding, deleting or modifying breakpoints via dialog.
Fixed code that tests (evaluates) breakpoint conditions as they were not getting evaluated

DBASE DBF TABLES…

Issue #1956
Fixed streaming of datetime query parameter value to stream with curly braces instead of double quotes

MISCELLANEOUS…

Issue #1983
Fixed – Runtime buffer overflow error starting in 10.0.0.0. doubled size of icode buffer used when compiling macro expression.

Issue #1875
Added code to ensure all timers are stopped and released early in dBASE shutdown sequence fixing windows error on program exit.

Issue #1981
New fix for _app.session.deleteAlias() that fixes both the lockup and prevents deletion of persistent BDE aliases.
NOTE: this does not affect using API calls that create permanent BDE aliases. That still requires an elevated access level either by running dBASE with Admin rights or setting registry key for Borland\Database Engine to allow Users to have full control

Issue #2025
Fixed – format toolbar large buttons are misaligned up in .exe
create and .exe and in it’s ini set …
[Tools]LargeButtons=1
The format tool buttons are missing some options (like Bold, Underline, Italics and paragraph options) other buttons that come after take on the roll of those buttons…

Issue #2027
Fixed – get MAV closing a form via f.close() function if it has a stored procedure

[/toggle] [toggle title=”dBASE™ PLUS 11 – ALL FIXES”] Issue #0058
Added OnDisplayChange() event to class FrameWindow, Form, and SubForm.
OnDisplayChange() will fire when a change is made to Windows Display Settings – such as changing resolution or color depth or when the screen is rotated

Issue #0398
Upgraded pushbutton class so the background color from the colorNormal property works to set background color of button when systemtheme is True.

Issue #0773
Surfaced the following gesture events in class Form, Subform, and all form components that have their own hWnd:
OnGestureZoom()
OnGesturePan()
OnGestureRotate()
OnGestureTwoFingerTap()
OnGesturePressAndTap()

Issue #0891
New Feature – Added new property: column to each GridColumn control and heading control in a Grid. Column contains an object reference to control’s GridColumn object

Issue #1290
Fixed – “Execute Selection” in Command window context menu only executes the last line selected. Will now execute all selected lines in sequence

Issue #1320
Fixed – Starting with dBASE Plus 8 – command window takes focus every time. Changed internal setting for MDI TabBar to return to the last active window

Issue #1459
Fixed checking/unchecking menu item when menu is attached to _app.framewin

Issue #1706
New Feature – Upgraded Navigator Look-In to allow source alias to be entered or selected to choose a folder. Source aliases will be included in drop-down list for tabs other than “Tables” tab

Issue #1734
Fixed inserting of template characters when formatting entryfield value when function code “I” – Center is used

Issue #1798
Fixed – Impossible to resize Col grid when using drag effect. this goes back to at least 2.8

Issue #1875
Added code to ensure all timers are stopped and released early in dBASE shutdown sequence fixing windows error on program exit.

Issue #1877
Fixed MAV (on Win 10) when reloading Report Designer after editing event handler for Report Component

Issue #1901
Fixed – Pasting component on scrolled form no longer sets top to a negative value.

Issue #1916
Fixed – ADO params using the same parameter reference twice does not work.

Issue #1921
Fixed disappearing numerals when using a picture setting of ’99’ on an entryfield

Issue #1922
Debugger – Fixed ability to edit and use breakpoint expressions

Issue #1922
Fixed Save and Load of Breakpoint settings to and from plusdebug.ini to correctly handle file paths with embedded commas, conditions with embedded commas, and global breakpoints.
Fixed code that updates BreakPoint Dialog’s ListView control after adding, deleting or modifying breakpoints via dialog.
Fixed code that tests (evaluates) breakpoint conditions as they were not getting evaluated

Issue #1923
Fixed – listview in .exe with built in runtime (RTEXE) does not show groups as long as the app.exe.manifest file is included with the app.exe and is making sure to include version 6 common controls. the ListView object on a form will show the groups.

Issue #1930
Fixed setting superclass for report in report designer when reloading designer after editing event handler in source editor

Issue #1931
Fixed typo: “roperty” to “Property” in context menu for Inspector for Field within Table Designer when designing a level 7 dbf file.

Issue #1932
Fixed ? command so it correctly retrieves and formats data from a MySQL LongText field

Issue #1933
Fixed ability for dBASE to detect a tap gesture as well as other default gestures on Windows 10

Issue #1935
Fixed Entryfield Function and Picture properties so that when they are modified they invalidate control’s window instead of recreating the window (which was incorrectly changing position of control window when form has been scrolled vertically)

Issue #1939
Fixed – report streaming code is removing an added object to a report based on a crp – Fixed Report Designer reloading report’s superclass instead of its class after editing event handler in source editor

Issue #1940
Fixed – Preprocessor setting in Project Explorer doesn’t get compiled.

Issue #1942
Fixed problem causing linkage for new event handler to be lost when closing source editor and switching back to report designer_mediator

Issue #1943Fixed – Special circumstance where testing 0.00000 is less than or equal to a negative number is returning true. The zero value was actually a very small value, 3.5527136788005009e-015, which is smaller than the default precision of 10 significant digits.

Issue #1945
Fixed – Add IDE element to Project Explorer to allow user to add preprocessor directives.

Issue #1954
Fixed – components in form in designer change position when moving components below the bottom of the form upwards

Issue #1956
Fixed streaming of datetime query parameter value to stream with curly braces instead of double quotes

Issue #1957
using numbered parameters causes invalid subscript reference.
Issue #1960
Fixed streaming of report’s superclass into CLASS statement when report is based on a custom report class and user runs report and then switches to design mode

Issue #1967
Fixed – Changed default for ADODatabase.SchemaName to be an empty string instead of “dbo” for a Microsoft SQL Server ADO connection. This enables displaying tables from all schemas within a database in the Navigator and in other table lists throughout the dBase user interface.
Table names will now be prefixed with their schema as in:
[schema].[tablename]
Issue #1981
New fix for _app.session.deleteAlias() that fixes both the lockup and prevents deletion of persistent BDE aliases.
NOTE: this does not affect using API calls that create permanent BDE aliases. That still requires an elevated access level either by running dBASE with Admin rights or setting registry key for Borland\Database Engine to allow Users to have full control

Issue #1983
Fixed – Runtime buffer overflow error starting in 10.0.0.0. doubled size of icode buffer used when compiling macro expression.

Issue #1986
Added: .sql, .txt, ,prj, and All (.) to list for save file dialog.

Issue #1988
Fixed – ADOQuery – invalid argument for value with parameter having a negative value

Issue #1990
Fixed – After deleting a watch variable it remains in the watch dialog

Issue #1993
Fixed – get MAV setting adostoredProc variable to null, or releasing adostoredProc variable. Also after database is closed and app is finished

Issue #1999
Fixed – dComplete – Avoid adding parentheses when assigning function/method to event property

Issue #2006
Fixed “Invalid Bookmark” error that occurred when changing a grid’s datalink from a query.rowset to an adoquery.adorowset
Issue #2007
Fixed ability to display and hide Inspector for class Designer so it works with the current version of the Inspector

Issue #2008
Fixed – Implemented option to not search subfolders within dBASE Find In Files… dialog

Issue #2021
Fixed – temp error while creating event handlers in a report while designing

Issue #2025
Fixed – format toolbar large buttons are misaligned up in .exe
create and .exe and in it’s ini set …
[Tools]LargeButtons=1
The format tool buttons are missing some options (like Bold, Underline, Italics and paragraph options) other buttons that come after take on the roll of those buttons…

Issue #2027
Fixed – get MAV closing a form via f.close() function if it has a stored procedure

Issue #2032
Added new property, themeBackground to PushButton class.
When True (the default) pushButton’s background uses the current theme’s background.
When themeBackground is False, the background color from the colorNormal property is used.

Issue #2033
Fixed – adoStoredProc causing crash when trying to reference the adoStoredProc Rowset

Issue #2040
Fixed popping up inappropriate autocomplete options after typing a close parenthesis at end of line of code that started with a ?
Additional fix when typing on right side of assignment operator
Issue #2078
Fixed – Command window not deleting history

Issue #2095
Enable Redo in the Source Editor

Issue #2100
Fixed – modi comm in command window adds a space in the file it opens in SE

Issue #2103
Fixed – Inspector, Component and Field palettes left open when in ‘autohide’ mode after closing report designer or other designers

Issue #2154
Fixed – In Navigator drop down list of paths/databases .. hovering over a path/database shows as blank

Issue #2157
dmAssist – Datamodule designer – Additional fixes to ensure images loaded for treeitems, load correctly

Issue #2224
New Feature – Added “Web” tab to Navigator

Issue #2237
Fixed – Edit menu options do not work correctly for a form with a custom menu (mdi or non-mdi)

Issue #2238
Fixed – Non-mdi form with custom menu does not show assigned bitmaps for menu options

Issue #2252
Fixed – Simple form with editor object is left painted after its closed and the current application theme is one of the Office3 themes

Issue #2264
Fixed – Fixed crash on themed notebook in dBASE application and follow on crash as well

Issue #2285
Fixed – GPF that occurred when pressing Shift+F10 or Popup Menu key (on keyboard) on form control

Issue #2289
New Feature – Added: Width and Height properties to data classes to preserve width and height of query, adoquery, and other objects in datamodule designer in dmAssist. This allows the layout of the data objects to be more fully saved so they can be fully restored when later opening a datamodule into dmAssist

Issue #2294
Fixed – Title bar in form not updating when it’s changed while running

Issue #2304
Fixed – Added code to handle case where command lines pasted in with multiple end of line characters work correctly

Issue #2304
Fixed – Regression in Command WIndow – editing and re-executing a previous command does not display command at bottom of command list. Additionally, editing previously entered command and than executing it will preserve previous version of command in its original location, and copy the revised command to the bottom of the list of commands and execute it

Issue #2344
Fixed – Autocomplete in command window is executing commands early. Will no longer execute current command line when pressing Enter to select autocomplete option

Issue #2349
Fixed – with SET CUAENTER OFF and form.MDI = false, ENTER key does not move from field to field in a form

Issue #2350
Fixed – Menu image/icon is not showing for regular mdi form

Issue #2351
Fixed – Using the tab key does not return to the pushbutton as you tab through the Z order

Issue #2352
Fixed – ADOQuery select statement with a space before the Select and using named parameter produces errors. Added code to left trim SQL statement before its parsed

Issue #2360
Fixed – watch dialog no longer working in dBASE 11
Issue #2362
Fixed – bitmap issues on pushbuttons – if systemTheme is false – dbase crashes

Issue #2367
Fixed – Repaint of non-client area buttons in Report Designer window during resize

Issue #2372
Fixed – Ability to tab from control to control when multiple comboboxes are on form

Issue #2373
Fixed – Project Explorer – INNO – ‘Add a File Entry’ …. changed *. to *.*

Issue #2374
Fixed – Project Explorer “empty folders” on the Defaults tab. Folders now show when opening Project

Issue #2375
Fixed – Project Explorer – INNO – Defaults Tab – ‘Installer Name’ should be ‘App Name’. This setting is used to set the {App} folder during install. The Installer name is derived from this name and is called _Installer

Issue #2391
Fixed – dmOutput is appearing on File menu when running dBASE application

Issue #2394
Fixed – dBASE crash when setting up lookupRowset. Will now trigger new error: 445 – Recursive lookup in LookupRowset

Issue #2401
Fixed – dmAssist issue – unable to create component. Fixed error that occurred when closing dmAssist after tabbing through data grid far enough to scroll grid horizontally and than clicking on close button for dmAssist window

Issue #2402
Fixed – Ability to tab from control to control on form with smallTitle = true and mdi = true

Issue #2404
Fixed – b2538 – tabbing (using tab or cuaenter off with ‘enter’ ) – with showTaskBarButton = false and mdi = false … does not work

Issue #2405
Fixed – b2538 – Tab is suppressed when tabbing from a ComboBox with style set to 2 (DropDownList)

Issue #2408
New Feature – Added ability to popup list of autocomplete options when user types SET( or SET(“

Issue #2409
Fixed – AutoComplete – wrong options are displayed in Source Editor after typing class::

Issue #2410
Fixed – AutoComplete – “CLASS” keyword not available when assigning event handler to event property
Issue #2414
Fixed – dmAssist – Tab key in data grid is ignored

Issue #2415
Fixed – Tab does not work in Grid on forms with mdi = false and either smalltitle=true or showTaskBarButton=true
Issue #2416
Fixed – Fix MKDIR and RMDIR so they can use path in a variable (without using macro operator). Fixed parser so MKDIR and RMDIR will work correctly with a variable that is enclosed in parenthesis:

For example:
MKDIR (newDirVar)
RMDIR (oldDirVar)

Issue #2418
Fixed – Restored behavior of pushbutton’s on Enter triggering pushbutton’s OnClick() when CUAENTER is OFF

Issue #2420
Fixed – dBASE Crash when closing 2 different forms containing numerous transparent controls. Crash was due to a regression in the fix for issue #1916 which resulted in an internal pointer for an array getting double released when an ADODataShape object is released

Issue #2422
Fixed – with cuaenter off and showTaskBar false … hitting enter key inside an editor as you type … moves to next object rather than next line in the editor

Issue #2423
Fixed – Tab key with Editor.cuaTab = False still moves focus to next control after inserting tab into editor

Issue #2429
Fixed – Crash connecting to ADO Firebird database

Issue #2432
Fixed – With office3 theme … automatically setting form.visible to false does not work

Issue #2434
Fixed – limited characters in ‘other’ tab in Navigator

Issue #2437
Fixed – Add a plain text Editor to dBASE Plus. added a property called textType to the existing Editor class to select the mode or language to use via a dropdown list:

0 – HTML
1 – Plain Text

Issue #2438
Fixed – Office3 themes do not correctly paint titlebar when system menu is turned off for form

Issue #2455
Fixed – Cannot properly select a row in a grid after resizing row then query.requery()

Issue #2460 and 2461
Fixed – Cannot drop items from UI controls onto an editor using drag and drop (no allowDrop property …)
Editor – Add method to get current cursor position as an offset into the editor’s value

Issue #None
Corrected Translation of text string in Spanish version of Source Editor Settings dialog

Issue #None
On SDI form (non-mdi), made menu able to dock to bottom,right, or left side of form – not just top

Issue #None
class subform, added properties:
scaleFontName
scaleFontSize
scaleFontBold

Issue #None
new session property .. _app.session.isAlias(). A test to see if an alias exists.

[/toggle] [/accordion]

Some Initial notes on dBASE™ PLUS 11:

[accordion] [toggle title=”Windows Smartscreen display during dBASE™ PLUS 11 install”] Applications that are signed with a standard code signing certificates need to have a positive reputation in order to pass the Smart Screen filter. Microsoft establishes the reputation of a new executable based upon the number of installations world wide of the same application. So, an initial release of the installer .exe may produce this message. If you get this message.. Click where it says ‘More Info’ … this is a link to open the option to run the installer. Click ‘Run anyway’ to continue. [/toggle] [toggle title=”Is Windows XP supported in dBASE™ PLUS 11?”] NO, dBASE™ PLUS 11 is not designed to work on XP. Since Microsoft dropped support for the OS back in April 2016 we have followed suit. While there are still many users of XP, we are seeing a dramatic drop in the number of people using it. It is never easy to drop support for a OS, especially one as popular as XP. However the resources needed to retrofit, recompile, retrofit, etc. makes it unfeasible to continue support more so when you know that if you hit a snag with the older compiler for instance, you can’t go to Microsoft for a fix. So that puts us in an untenable position for a platform that is being rapidly phased out by organizations and individuals every day. That is why we made the difficult decision to drop support for Windows XP and Windows Server 2003 (server version of XP). [/toggle] [toggle title=”Are dBASE™ PLUS 10.X projects forwardly compatible with dBASE™ PLUS 11?”] YES, projects developed in dBASE™ PLUS FULL 10.X should compile with little to no changes. [/toggle] [toggle title=”Upgrading from dBASE™ PLUS 2.6x and lower to dBASE™ PLUS 11″] dBASE™ PLUS 11 does not support full backward compatibility. This is due to many underlying technical issues, including but not limited to: – High Precision Math implementation – A new look & feel manager – Full upgrade to the new MFC (Microsoft Foundation Class) for look and feel and underlying component structures – Updated and latest compiler support All code from previous versions should be re-compiled. 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 11. 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. Also, the data objects on a form have been modified to require that the parent be explicitly set in a form or a report or other CLASS. This means that if you attempt to put a form (for example) in design mode that has data objects that are defined like this… this.DBASESAMPLES1 = new DATABASE() with (this.DBASESAMPLES1) left = 19.0 top = 14.0 databaseName = “DBASESAMPLES” active = true endwith this.FISH1 = new QUERY() with (this.FISH1) left = 20.0 top = 14.0 database = form.dbasesamples1 sql = “select * from FISH.DBF” active = true endwith When you attempt to put the form in design mode you will receive info about the modification needed to make it run in dBASE™ PLUS 11…   [/toggle] [toggle title=”Upgrading from dBASE™ PLUS 2.7x and dBASE™ PLUS 2.8x to dBASE™ PLUS 11″] dBASE™ PLUS 11 does not support full backward compatibility. This is due to many underlying technical issues, including but not limited to: – High Precision Math implementation – A new look & feel manager – Full upgrade to the new MFC (Microsoft Foundation Class) for look and feel and underlying component structures – Updated and latest compiler support All code from previous versions should be re-compiled. Also, the data objects on a form have been modified to require that the parent be explicitly set in a form or a report or other CLASS. This means that if you attempt to put a form (for example) in design mode that has data objects that are defined like this… this.DBASESAMPLES1 = new DATABASE() with (this.DBASESAMPLES1) left = 19.0 top = 14.0 databaseName = “DBASESAMPLES” active = true endwith this.FISH1 = new QUERY() with (this.FISH1) left = 20.0 top = 14.0 database = form.dbasesamples1 sql = “select * from FISH.DBF” active = true endwith When you attempt to put the form in design mode you will receive info about the modification needed to make it run in dBASE™ PLUS 11…   [/toggle] [/accordion]

FAQ:

[accordion] [toggle title=”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
[/toggle] [toggle title=”What is a User BDE Alias?”] You can create individual User Database Aliases in dBASE™ PLUS 11 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\[username]\dBASEPLUS\Bin\PLUS.ini) Here is information from the dBASE™ PLUS 11 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= [/toggle] [toggle title=”Does dBASE™ PLUS 11 support Unicode?”] The dBASE™ IDE is able to use Unicode characters (like Chinese, Arabic etc…) However, the .dbf and .db tables currently do not support these sets of characters. We are working on changing this for a future release. Please keep an eye on our website as we will be making many changes in the near future. With ADO connections however, you can connect to external databases that use Unicode and other data types. Since ADO connections are outside of the BDE, it is not restricted by the limitations of the BDE. You can find more detailed information from the help for ‘ADO’ under the ADO book in our online Help system. http://www.dbase.com/online-help/ [/toggle] [toggle title=”INNO Setup error : Sorry can’t install this setup cancelled by user – When using Runtime/BDE “] Check for required dBASE™ Runtime files…” i get “Sorry can’t install this setup cancelled by user Because of security issues people have found that you must use the [Run] section of inni to run the bde/runtime installer. Try the following … First leave the setting… UninsHS= from the [dBASERuntime] section. delete everything else under [dBASERuntime]. Instead you should use the [Run] section of inno (see the inno help under the RUN section). This is where extra .exe’s are run at the end of the app install. After removing the [dBASERuntime] section there will be additional code that is no longer necessary so remove .. under
 the section starting with 'procedure CurPageChanged(CurPageID: Integer);' and ending with 'end;'


Then add the following …
(For an example... this is using PLUS 8.1.3.0 Runtime installers)

under ...

[Files]

; -----------------------------------------------------
; dBASE™ Runtime Installer – put it in {tmp} dir
Source: "PLUS813Runtime-b2345_EN.exe"; DestDir: "{tmp}"; Flags: ignoreversion deleteafterinstall

; -----------------------------------------------------
; Manifest file for runtime:
Source: "PLUSrun.exe.manifest"; DestDir: "{pf}dBASEPLUSRuntime"
; Manifest file for BDE:
Source: "bdeadmin.exe.manifest"; DestDir: "{cf}BorlandBDE"

Under…

[Run]
; This is a Silent install of runtime suppresses the runtime install display, ...
; PLUSNNNNRuntime-bNNNN_en.exe -s -a Runtime= BDE= Silent -sr
; In order to get this to work properly, the double-quotes are doubled up in a few places
; if you look at the statement ... that embeds a single double-quote (as it were) in the
; parameters needed for the runtime and bde installs.

Filename: {tmp}PLUS813Runtime-b2345_EN.exe; Parameters: "-s -a Runtime=""{pf}dBASEPLUSRuntime"" BDE=""{cf}BorlandBDE"" Silent -sr"; StatusMsg: "Installing dBASE™ Runtime and BDE..."; Flags: runascurrentuser; WorkingDir: {tmp};


= = = = = = = = = = = = FULL EXAMPLE OF .ISS THAT INSTALLS A SIMPLE HI.EXE AND THE RUNTIME = = = = = = = = = = = = =

[_TopOfScript]
; This is a Innoscript generated by dBASE™ PLUS Project Explorer

[_Project]
ProjectNr=1.0.0.0
ProjectName=RuntimeBDETest
ProjectExeFileName=C:\Users\Kathy Kolosky\AppData\Local\dBASEPLUS8\Samples\Runtime\BDETest.exe
ProjectMainFileName=C:\Users\Kathy Kolosky\AppData\Local\dBASEPLUS8\Samples\Runtime\Test.iss
ProjectAuthor=Copyright © 2014 Unknown Author
ProjectCreateDate=05/21/2014 07:38:29
ProjectAccessDate=05/21/2014 07:38:56
ProjectdBaseVersion=dBASE™ PLUS 8.130 b2345
ProjectLastdBaseRuntimeVersion=8130
ProjectLastdBaseRuntimeLanguage=EN
ProjectdBasePRJFilename=C:\Users\Kathy Kolosky\AppData\Local\dBASEPLUS8\Samples\Runtime\Test

[ISPP]
#pragma option -v+
#pragma verboselevel 9 ;Macro and functions successfull call acknowledgements
#define Debug
#define AppName "RuntimeBDETest"
#define AppVersion "1.0.0.0"
#define AppId "RuntimeBDETest_ID"
#define AppCopyright "Copyright © 2014 Unknown Author"
#define AppUninstallDir "{app}Uninstall Information"

[LangOptions]
LanguageCodePage=0

[Setup]
SourceDir=C:\Users\Kathy Kolosky\AppData\Local\dBASEPLUS8\Samples
SetupIconFile=
AppId={#AppId}
AppName={#AppName}
AppVersion={#AppVersion}
AppVerName={#AppName} Version {#AppVersion}
AppCopyright={#AppCopyright}
DefaultDirName={pf}{#AppName}
DefaultGroupName={#AppName}
PrivilegesRequired=admin
ShowLanguageDialog=false
VersionInfoVersion={#AppVersion}
VersionInfoDescription={#AppName} Setup
VersionInfoCompany={#AppCopyright}
VersionInfoTextVersion=Version {#AppVersion}
UninstallFilesDir={#AppUninstallDir}

[Languages]
Name: en; MessagesFile: compiler:Default.isl

[Messages]
BeveledLabel=Copyright © 2014 Unknown Author


[Files]
; -----------------------------------------------------
; dBASE™ Runtime Installer – put it in {tmp} dir
Source: "C:\Runtime\Installer\PLUS813\Runtime-b2345_ALL.exe"; DestDir: "{tmp}"; Flags: ignoreversion deleteafterinstall
Source: RuntimeBDETest.exe; DestDir: {app}; Flags: IgnoreVersion

[INI]
Filename: {app}RuntimeBDETest.ini; Section: Toolbars; Flags: UninsDeleteSection
Filename: {app}RuntimeBDETest.ini; Section: Toolbars; Key: Standard; String: 0
Filename: {app}RuntimeBDETest.ini; Section: Toolbars; Key: StandardFloat; String: 0
Filename: {app}RuntimeBDETest.ini; Section: Toolbars; Key: StandardStyle; String: 0
Filename: {app}RuntimeBDETest.ini; Section: Desktop; Flags: UninsDeleteSection
Filename: {app}RuntimeBDETest.ini; Section: Desktop; Key: Maximized; String: 0
Filename: {app}RuntimeBDETest.ini; Section: Desktop; Key: StatusBar; String: 0
Filename: {app}RuntimeBDETest.ini; Section: CommandWindow; Flags: UninsDeleteSection
Filename: {app}RuntimeBDETest.ini; Section: CommandWindow; Key: Open; String: 0

[Run]
; Silent install of runtime suppresses the runtime install display, and the installshield stuff ...
; PLUSRuntime-bNNNN_en.exe -s -a Runtime=d:dBASEPLUSRuntime BDE=d:dBASEPLUSbde Silent -sr
; In order to get this to work properly, the double-quotes are doubled up in a few places
; if you look at the statement ... that embeds a single double-quote (as it were) in the
; parameters needed for the runtime and bde installs.
Filename: {tmp}PLUS813Runtime-b2345_ALL.exe; Parameters: "-s -a Runtime=""{pf}dBASEPLUSRuntime"" BDE=""{cf}BorlandBDE"" Silent -sr"; StatusMsg: "Installing dBASE™ Runtime and BDE..."; Flags: runascurrentuser; WorkingDir: {tmp};


[UninstallDelete]
Type: files; Name: Filename: {app}RuntimeBDETest.ini

[_EndOfScript]
; © dBASE™ Portions by Jonny Kwekkeboom © 2002-2014
; Visual dBase, dB2K, dBASE™ SE and dBASE™ PLUS © dataBased Intelligence.Inc Homepage: http://www.databi.com/
; dQuery for Delphi,C++,dBASE™ PLUS © dataBased Intelligence.Inc see also Homepage: http://www.dQuery.com/

[Code]
var FinishedInstall: Boolean;

procedure InitializeWizard();
begin
FinishedInstall:= false
end;

procedure DeInitializeSetup( );
var ErrorCode: Integer;
begin
if FinishedInstall then
#if VER >= 0x05000100
ShellExec('open',ExpandConstant('{group}'),'',ExpandConstant('{group}'), SW_SHOWNORMAL, ewNoWait, ERRORCODE);
#else
InstShellExec(ExpandConstant('{group}'), '', '', SW_SHOWNORMAL, ERRORCODE);
#endIf
end;

function InitializeSetup(): Boolean;
var S: String;
begin
(** Create a Mutex so we can not double call this Setup.exe file **)
S:='{#AppName}';
Result:= true;
if CheckForMutexes(S+'_SetupMutex')=false
then Createmutex(S+'_SetupMutex')
else Result:=False;
end;
[/toggle]
[/accordion]

ADO Sample Code:

[accordion] [toggle title="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 [/toggle] [toggle title="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. [/toggle] [toggle title="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 [/toggle] [toggle title="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 [/toggle] [/accordion]

Known Issues with workarounds:

[accordion] [toggle title="ADO Apps using Apache Web Server"] ADO use with Apache: Issue #1017 - get MAV instantiating an ado object in a web app. Workaround: This issue will occur on any 64 bit version of windows beginning with Vista. The problem is due to the fact that Windows uses the environment variable 'CommonProgramFiles(x86)' to find the ADO DLL's at runtime but Apache does not allow parenthesis in the names of any environment variables that it passes or creates for web apps that it executes. It converts the parenthesis into underscores, for example: CommonProgramFiles_x86_. The simplest solution for this is to have each web app that requires ADO access to create its own environment variable before it attempts to create any ADO objects. Adding the following code near the beginning of these web apps will create the needed environment variable. (be sure to adjust the specified path to the one matching the machine on which Apache is executing): extern CLOGICAL SetEnvironmentVariable(CSTRING, CSTRING) kernel32 from "SetEnvironmentVariableA" bResult = SetEnvironmentVariable("CommonProgramFiles(x86)", "C:\Program Files (x86)\Common Files") Here is a function: initEnv(), that will only call SetEnvironmentVariable() when necessary - from within a web app. This can be added to the web class (as a method) if desired and called before any ADO objects are created: function initEnv() local cEnvStr, cEnvVar, cEnvVarNoParens if OSVersion() >= 6 // Windows Vista is version 6.0 if IsWow64() // test if running on 64 bit version of Windows if type("SetEnvironmentVariable") # "FP" extern CLOGICAL SetEnvironmentVariable(CSTRING, CSTRING) kernel32 from "SetEnvironmentVariableA" endif cEnvVar = "CommonProgramFiles(x86)" cEnvVarNoParens = "CommonProgramFiles_x86_" // check if correct env.var already exists and has a value cEnvStr = getenv(cEnvVar) if empty(cEnvStr) // EnvVar with parens not found - so must create it // check if modified env.var (without parens) already exists and has a value cEnvStr = getenv(cEnvVarNoParens) if empty(cEnvStr) // cEnvVarNoParens not found - use default value for it cEnvStr = "C:\Program Files (x86)\Common Files" else // otherwise cEnvVarNoParens exists and has a value endif // Create and set value of env.var (with parens) bResult = SetEnvironmentVariable(cEnvVar, cEnvStr) endif endif endif return function OSVersion local cVersion cVersion = OS() return val(ltrim(substr(cversion,rat(" ",cVersion)))) function IsWow64 local lIsWow64 lIsWow64 = false if type("GetCurrentProcess") # "FP" extern CHANDLE GetCurrentProcess( CVOID ) kernel32 endif if type("IsWow64Process") # "FP" extern CLOGICAL IsWow64Process(CHANDLE, CPTR CLOGICAL) kernel32 endif if type("IsWow64Process") = "FP" // Make sure extern worked for retrieving this function pointer // Because older versions of windows do not contain this function // From MSDN, minimum supported operating systems are: // Client OS's: Win XP SP2, Vista // Server OS's: Windows Server 2003 with SP1, Windows Server 2008 IsWow64Process(GetCurrentProcess(), lIsWow64) endif return lIsWow64 In order for the above initEnv() to function correctly the following setting should be in the httpd.conf file (in any place - I put mine in the beginning) for Apache: PassEnv CommonProgramFiles(x86) This instructs Apache to pass the existing environment variable (CommonProgramFiles(x86) to any web apps as part of their default environment. Apache will pass this env.variable, but renamed to: CommonProgramfiles_x86_ but it will have the needed path assigned to it which initEnv() will use. Also when connecting to an ADO database it is best to use the .connectionString property when connecting to an external database in a web app. for example ... this.adoQuery1 = new ADOQUERY(this) with (this.adoQuery1) connectionString = "" sql = "SELECT * FROM " active = true requestLive = false endwith [/toggle] [toggle title="Language Support"] Language Support: Japanese Language Runtime Files are not available. Workaround: None, we will be releasing it soon. [/toggle] [toggle title="Data Module Designer - dmAssist"] Issue #2328 renaming the databaseName after a Data Mdule is open will not update the Databases and Tables view. Workaround: You must close and restart the Data Module designer to see changes   Issue #2255 inspector pops itself back up after selecting a window outside of dBASE then back. Workaround: you can edit plus.ini and remove the section labeled: [ToolBoxInspector]. Remove the 'DockSite' setting and set Float=1 Next time a designer (such as the Form Designer) is run, the Inspector will open in a floating position. When you close the Form Designer the Inspector will close, as well. [/toggle] [toggle title="dmCRUD - Windows app wizard"] Issue #2241 'Reports' Menu options are disabled. Upon first open .. without changing tab (on 'Data' tab) 'Reports' menu option shows as disabled (which is proper) now go to Reports tab ... go to Reports menu option and they are still disabled. Workaround: toggling the menu option.. for example.. click on another tab or menu option. Then go back to the menu on the Reports tab and Reports menu and the output options will be enabled. Form or Report Designer issues Issue #1446 report with rectangle causes issues with adding new fields. Workaround: is to remove the rectangle while designing until you are ready to put it back. Issue #1860 custom text is not showing the borderStyle setting in the a form using the custom text Workaround: Pick either: Comment out: transparent = true in the .cc file OR Add: doubleBuffered = true to the .wfm resolves this issue. ADO Issue #2178 you get an error when trying to run a form with adoStoredProcudure if you are using a connectionString instead of databaseName property Error is: "Invalid subscript reference" connectionString = "" procedureName = "" with (parameters[""]) // Errors here type = "Char" //for example value = "" endwith Workaround: After setting connectionString property add: connected = true This opens the connection to the database server specified in connectionString. Once the connection is open, setting the procedureName will be able to retrieve the parameter definitions from the server. Issue #1988 ADOQuery - invalid argument for value with parameter having a negative value Workaround: use quotes around the negative value. for example in the sample below change parameters["VL"].value = -1 ///where you get the invalid argument for value error to parameters["VL"].value = "-1" Then it will work. OTHER Issue #1966 Manifest is not being used when building EXE with runtime. ... speed tip does not work in app.exe when building with RTEXE (even when using manifest) Workaround: In dBASE compile the form code add the manifest to the BUILD command (example): build issue1966.wfo,issue1966.exe.manifest to issue1966.exe rtexe This links the manifest file into the .exe Then make sure that the manifest file is also deployed with the .exe [/toggle] [/accordion]

Known Issues without workarounds:

[accordion] [toggle title="Data Module Designer - dmAssist"] Issue #2330 Select table dialog crashes if many tables exist in an external database. When connecting through the BDE (ODBC) a 'Select Table' dialog will come up. In some cases adding a table through the 'Select Table' dialog will cause dBASE to stop working. Issue #2329 After adding an ADOQuery object to the design surface, and set it so that the SQL property doesn't exist, and the active property is false, the dmDesigner object ignores it, and when saving and exiting, it removes the ADOQuery object completely Issue #2324 Get 'Rowset is Read Only' - trying to change 'View by Query' in Multi-Table View. This happens specifically when using lookupRowset on a field in a table that is used also in the 'Multi-Table' View. [/toggle] [/accordion]

Previous Versions:

dBASE™ PLUS 10

dBASE™ PLUS 9

dBASE™ PLUS 8

[/raw]
1 4 5 6 7 8 10