To insure your deployed application performs as intended, you can deploy an .INI file of the same name as the .EXE.

Some settings you should consider (see online help in dBASE for details for SET EPOCH, SET CENTURY, SET LDCHECK, etc.) adding as an example below:

[CommandSettings]
EPOCH=1950
LDRIVER=WINDOWS

[OnOffCommandSettings]
CENTURY=ON
LDCHECK=OFF
BELL=OFF
TALK=OFF

[CommandWindow]
Open=1
Maximized=0
Minimized=1

[ComponentTypes]
ComponentTypeNumeric=1
ComponentTypeDate=1
ComponentTypeLogical=0
ComponentTypeMemo=0
ComponentTypeBinary=0
ComponentTypeOLE=0
ComponentTypeNumericForTables=1
ComponentTypeDateForTables=1
ComponentTypeLogicalForTables=0
ComponentTypeMemoForTables=0
ComponentTypeBinaryForTables=0
ComponentTypeOLEForTables=0

[Grid]
DefaultMemoEditor=0

[Toolbars]
Format=0

[ObjectPath]
objPath0=c:\path
objPath9=c:\anotherpath

[IDAPI]
CONFIGFILE01=mycustom.cfg

[UserBDEAliases]

0=dBASEContax

[dBASEContax]

Driver=DBASE

Options=PATH:C:\Users\kkolosky\AppData\Local\dBASE\PLUS\Samples\contax\data

 

The LDRIVER=WINDOWS setting ensures that no matter what your application's BDE Driver, your source code will be saved as ANSI.

Setting TALK=ON will cause dBASE to constantly echo commands to the command window, and may cause performance degradation. In dBASE, the Runtime Engine automatically assumes talk is OFF

The ComponentTypes settings reduce the likelyhood of datatype mismatches, particularly if you are using the grid component on your forms. You should copy the section shown above from your own DB2K or PLUS.INI, as you may have different settings than those shown above.

Grid was new to dBASE in version 2.21, and is used to set the default columnEditor type for memo fields in a grid. If DefaultMemoEditor is set to zero, the default (columnEditor) is used, if set to one (1), the columnEntryfield is used.

Toolbars: When the Format option is set to "1", the Format Palette is displayed when a form with an editor control is opened. The Format Palette does not display when this is set to “0”.

ObjectPath: This is how DEO is handled. Briefly, when you run an executable built with dBASE, it checks:

  1. It looks in the "home" folder from which the application was launched.

  2. It looks in the .ini file to see if there's a series of search paths specified. It checks all the paths in the list looking for the object file requested by the application.

  3. It looks inside the application's .exe file, the way Visual dBASE did in the past.

IDAPI is only really necessary if you are using a custom configuration file for the BDE. This may cause a problem if multiple programs on the same computer try to use the BDE with different configuration files. It is recommended that other methods of modifying the BDE's setup are used, such as running code in the dBASE Users' Function Library (dUFLP) that will modify the BDE’s registry settings.

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=<SomeODBCDriverName>

Options=<Connection String Settings for ODBC Driver>

 

dBASE will support up to 10000 User BDE Aliases numbered 0 thru 9999. However, this probably exceeds the maximum size of an INI file section supported by Windows which is documented to be about 32KB.

 

Some additional settings you might find useful under [CommandSettings] section...

 

COMMAND=<dbaseprogram.prg>

dBASE allows you to automatically run a program at startup. NOTE: if the default directory at startup is a different folder. This app may not be found and my not run. Make sure you set this path as default.


PATH=<path1>;<path2> etc...

dBASE allows you to add search paths in the INI file with this setting.

 

Starting with dBASE 2019 the following settings have been added to provide more control over the look and feel of dBASE.

 

- fonts settings added to plus.ini file.

 

Set font size and font name for Inspector, menus, status bar, MDI Tabs, Component Palette, and Field Palette via .ini setting. Example:

           [Desktop]

           MenuFontName=Times New Roman

           MenuFontSize=15

        If you specify just one of these settings the other one will stay set

        to the default.  The default MenuFontName is "Segoe UI"

        The default MenuFontSize is 11 points

 

More default font settings under new section [DefaultFont]

        For the Navigator a new setting called 'Application'

        For default control (like Text or TextLabel object) FontName and FontSize a new setting called 'Controls'

        these are set when you add a new control to a form or Report. Example:

        [DefaultFont]

        Application=Times New Roman, 12

        Controls=Times New Roman, 12

 

Added ability to set colors for Source Editor's Treeview from the

        current Source Editor instance. Also added .ini file settings that can

        be used to override above default colors and font setting.

        New .ini file settings. Example:

          [BriefEditor]

          TreeViewFont=Segoe UI, 12

          TreeViewTextColor=Blue

          TreeViewBackColor=LightBlue

  

Added ability to set colors for Command Window Output Pane

        Output Pane's colors will now match Input Pane's colors unless overridden by

        new .ini file settings. Example:

          [CommandWindow]

          ResultsPaneFont=Courier New, 13

          ResultsTextColor=Purple

          ResultsBackColor=LightGrey

 

 Added .ini setting to save current Motif

          [Desktop]

          Motif=[Motif Number]

 

          where Motif Number can be:

            0 = None

            1 = Light

            2 = Dark