Copyright: Copyright (c) Corel Corporation.  1998-1999.  All rights reserved.
Citation: Copyright (c) Corel Corporation. 1998-1999. All rights reserved.


Developing Applications


Overview: Guidelines for developing an application
Guidelines for developing an application

The following guidelines summarize how to develop Paradox Runtime applications with Paradox:

1.	Decide on the application's purpose and what information it needs to perform its tasks.

2.	Use Paradox to create the application and all the tables, queries, forms, and reports used by the application. Make sure you

•	avoid features that are unavailable in Paradox Runtime

•	follow multi-user conventions if the application is used in a multi-user environment

•	stay aware of interoperability issues that may arise (such as conflicting configuration files) when using the application with other products

3.	Test the application under Paradox Runtime, then debug it using Paradox.

4.	If you want, deliver any forms, reports, and scripts that you provide as part of the application in Paradox. Paradox Runtime can run either delivered or non-delivered forms, reports, libraries, and scripts. See Delivering application files for information about delivering forms, reports, libraries, and scripts.

5.	Document the application.

6.	Distribute the application to your users along with Paradox Runtime. You can use the Corel Distribution Expert to create a customized setup for your application.

Your development process may differ slightly, but you should perform most, if not all, of these tasks. See the ObjectPAL Reference for detailed information on application development.


Delivering application files

Paradox Runtime runs both delivered and non-delivered forms, reports, scripts and libraries. When you deliver one of these file types in Paradox, a copy of the file is created where all the source code is removed. This lets others use your application but not modify it. Buttons and other objects still work exactly the way you have designed them.

To deliver a file

•	Click Format, Deliver in the Form Design and Report Design windows, or Program, Deliver in the Script Design and Library Design windows in Paradox.

When you deliver a file, Paradox creates a new file with the following extension:

File	Design window 	Delivered extension

Form	.FSL	.FDL

Report	.RSL	.RDL

Script	.SSL	.SDL

Library	.LSL	.LDL

 Note

•	If you need to modify a file after it has been delivered, you must open the non-delivered file in Paradox (not Paradox Runtime), make the changes you want, save your changes, then re-deliver your file.


Customizing Runtime Applications


Overview: Command-line options
Command-line options

Paradox Runtime supports the following command-line options. Note that some options have been modified for the Runtime environment:

Option	Behavior
-addin "path\name.dll"	Registers a third-party Paradox add-in in the system registry. All add-ins must be registered before they can be used in Paradox Runtime. This parameter replaces the Tools, Register Add-in menu option in the full version of Paradox.
-b	Prevents multiple instances of Paradox Runtime from being loaded. If Paradox Runtime is already running, the Runtime window is brought to the front. If you try to load Paradox Runtime more than once without changing the private directory, an error message tells you that BDE could not be initialized.
-c	Starts Paradox Runtime with a clear desktop
-d Filename	Specifies an alternate PFWWORK.INI, which contains folder definitions for use with the Project Viewer, like Paradox's PDOXWORK.INI file. By default, Paradox Runtime does not use an .INI file to store settings, but you can create a file named PFWWORK.INI in your working directory and Paradox Runtime will read settings from it automatically.
	If you specify a full directory path (one that includes a drive letter and directory) with Filename, Paradox Runtime uses that file for every working directory you use. However, if you do not include a directory reference and you change your working directory after starting Paradox Runtime, then it looks for Filename in the new directory. If the file cannot be found, Paradox Runtime uses the new directory's PFWWORK.INI.
-e	Prevents writes to the system registry
-f	Forces writes to the system registry
-i Filename	Specifies an alternate PFWWIN.INI file, which contains desktop settings, like Paradox's PDOXWIN.INI file. By default, Paradox Runtime does not use an .INI file to store settings, but you can create a file named PFWWIN.INI and Paradox Runtime will read settings from it automatically.
-m	Loads Paradox Runtime as a minimized application. This is useful if you want to load Runtime but not work with it immediately.
-n	Prevents saving work and private directories on exit
-o Filename	Alternate BDE configuration file (all BDE-based applications must use the same BDE configuration file when running concurrently)
-p Directory	Starts with a different private directory than the one set in the system registry. Paradox Runtime stores its temporary tables in the directory you indicate with this parameter.
	If you do not indicate a full directory path (one with a drive letter), Paradox Runtime looks for the new directory with respect to the Runtime system directory.
-q	Suppresses the Paradox Runtime title screen while it is loading
-s	Prevents resizing of the Paradox Runtime window
-t	Allows resizing of the Paradox Runtime window
-w Directory	Starts Paradox Runtime with the specified working directory instead of the one saved in the system registry
-y	Forces saving work and private directories on exit
StartFile	Opens the specified document and performs its default action. Paradox Runtime looks in the current working directory for the specified file unless you include the full directory reference to that file.
	You can tell Paradox Runtime to open a file when starting (for example, a form or report) by typing the name of the file, along with any necessary directory information. This does not require a special option but does require the file extension. After loading, Paradox Runtime opens the file and performs its default action. For example, forms are displayed in a Form window, scripts are run, and so on.


Using command-line options

To start Paradox Runtime with one or more command-line options

1.	Do one of the following:

•	In Windows 95, choose Run from the Windows Start menu.

•	In Windows NT, choose File, Run in the Program Manager.

2.	Type pdxrwn32, then add the option(s) you want to use. If you use more than one option, separate each with a space.

For a list of available command-line options, see Command-line options.

If you want Paradox Runtime always to start with the same command-line options and parameters, do one of the following:

•	In Windows 95, right-click and use the Windows Properties dialog box to change the properties of the Paradox Runtime icon.

•	In Windows 95, create a new link containing the command-line options in its Shortcut settings.

•	Use the Registry Editor to add the FLAGS string name to your system registry. The FLAGS string name is found at HKEY_CURRENT_USER\SOFTWARE\COREL\PARADOX RUNTIME\9.0\CONFIGURATION. You may need to create it if you do not already have a FLAGS string name entry at this location. Check your Windows documentation for information about using the Registry Editor.


.INI Files and Configuration settings in the system registry


Overview: .INI Files
.INI Files

Paradox Runtime reads .INI files for settings that override the system registry settings. Paradox Runtime uses the following .INI files:

•	PFWWIN.INI behaves like the PDOXWIN.INI file in Paradox for Windows 5.0. You can call PFWWIN.INI or an alternate file using the -i command-line option. See PFWWIN.INI, PDOXWIN.INI, and the system registry for more information on the PFWWIN.INI file.

•	PFWWORK.INI, located in working directories, behaves like a PDOXWORK.INI file in Paradox for Windows version 5.0, but you must edit it manually instead of using the Project Viewer. You can call PFWWORK.INI or an alternate file using the -d command-line option. For more information, see PDOXWORK.INI and PFWWORK.INI.

•	In previous versions of Paradox and Paradox Runtime, developers could customize menus with entries in PXDLITE.INI. Now, you enter keys and values in the system registry. For instructions, see PXDLITE.INI settings in the system registry.

 Related Topics


Overview: Configuration settings in the system registry
Configuration settings in the system registry

Paradox Runtime reads the system registry for settings that configure the Runtime session. Most settings that are supported in .INI files can also be set in the system registry.

Use the Registry Editor supplied with Windows to view or modify the registry file. In Windows 98 and 95, the Registry Editor is REGEDIT.EXE; in Windows NT, it is REGEDT32.EXE. Check your Windows documentation for information on how to use these tools.

 Note

•	Modification of the system registry should be done only by advanced developers. The Registry Editor does not have an Edit, Undo capability so be very careful of any changes you make.

The registry keys which are Paradox Runtime-specific are found at:

•	HKEY_CURRENT_USER\SOFTWARE\COREL\PARADOX RUNTIME\9.0

In addition, the following registry keys are required for the Borland Database Engine (BDE):

•	HKEY_LOCAL_MACHINE\SOFTWARE\BORLAND\BLW32

•	HKEY_LOCAL_MACHINE\SOFTWARE\BORLAND\DATABASE ENGINE

 Related Topics


Overview: WIN.INI settings in the system registry
WIN.INI settings in the system registry

Previous versions of Paradox and Paradox Runtime stored settings in the [PDOXWIN] and [IDAPI] sections of WIN.INI. These settings are now in the system registry. Unless otherwise stated, the system registry is the only location where these values can be set.

UserName

The user name is specified by value of the UserName string at the HKEY_CURRENT_USER\SOFTWARE\COREL\PARADOX RUNTIME\9.0\CONFIGURATION key.

Company

The company name is specified by the value of the Company string at the HKEY_CURRENT_USER\SOFTWARE\COREL\PARADOX RUNTIME\9.0\CONFIGURATION key.

HomeDir

The home directory location is specified by the value of the <Default> string at HKEY_CURRENT_USER\SOFTWARE\COREL\PARADOX RUNTIME\9.0\CONFIGURATION\HOMEDIR.

PrivDir

The private directory location is specified by the value of the <Default> key at HKEY_CURRENT_USER\SOFTWARE\COREL\PARADOX RUNTIME\9.0\CONFIGURATION\PRIVDIR.

The private directory may be specified by the -p command-line option. See Command-line options for more information on this, and other command-line parameters.

WorkDir

The working directory location is specified by the value of the <Default> key at HKEY_CURRENT_USER\SOFTWARE\COREL\PARADOX RUNTIME\9.0\CONFIGURATION\WORKDIR.

The working directory may be specified by the -w command-line option. See Command-line options for more information on this and other command-line parameters.

CONFIGFILE01

The location (full path name) and, optionally, the name of the BDE configuration file is specified by the value of the CONFIGFILE01 string located at HKEY_LOCAL_MACHINE\SOFTWARE\BORLAND\DATABASE ENGINE.

The BDE configuration file can be specified using the -o command-line option. See Command-line options for more information on this, and other command-line parameters.

DLLPATH

The location where the BDE files can be found is specified by the value of the DLLPATH string located at HKEY_LOCAL_MACHINE\SOFTWARE\BORLAND\DATABASE ENGINE.

 Related Topics


Overview: PDXLITE.INI settings in the system registry
PDXLITE.INI settings in the system registry

Previous versions of Paradox and Paradox Runtime stored developer menu settings in PXDLITE.INI. The information contained in this .INI file is now in the system registry. The system registry is the only location where these values can be set. The PXDLITE entries are entered in the system registry at HKEY_CURRENT_USER\SOFTWARE\COREL\PARADOX RUNTIME\9.0\PXDLITE.

You can add menu choices to the File, Tools, and Help menus as well as the File, New and File, Open submenus using corresponding keys within PXDLITE. Inside a key, you place values corresponding to the menu choice you want to add.

The strings placed in PXDLITE are specified using the following syntax:

String name	Data value

MenuChoice	drive:\path\filename [function]

where [function] is the name of a function within a .DLL

Adding an ampersand before a letter in the menu choice makes that menu choice identifiable by that letter.

The filename can be any Paradox form (.FSL, .FDL), script (.SSL, .SDL), or program file (.EXE, .COM, .BAT, and .PIF), or .DLL. All other filenames are ignored.

The key for the File menu is File, the Tools menu is Tools, and the Help menu is Help. The key for the File, New submenu is New and the key for the File, Open submenu is Open.

Example

To add the command Paint Brush to the Tools menu, with accelerator key B:

1.	Using the Registry Editor, add key PXDLITE under HKEY_CURRENT_USER\SOFTWARE\COREL\PARADOX RUNTIME\9.0.

2.	Under PXDLITE, add the new key Tools.

3.	Under Tools, add a new string value, Paint &Brush with value "C:\WINDOWS\PBRUSH.EXE".

When you close the Registry Editor and start Paradox Runtime, the new command appears on the Tools menu and runs Windows Paintbrush when you click it or press ALT + TAB.

 Note

•	Modification of the system registry should only be done by advanced developers. The Registry Editor does not have an Edit, Undo capability so be very careful of any changes you make. Refer to your Windows documentation for information about the Registry Editor.

 Related Topics


Overview: PDOXWORK.INI and PFWWORK.INI
PDOXWORK.INI and PFWWORK.INI

PDOXWORK.INI describes additional entries to the working directory's Project Viewer. Paradox creates this file in the directory you set as your working directory. The [Folder] section lists for each reference you have created, the name of the file, and the position of the icon.

The equivalent file for Paradox Runtime is PFWWORK.INI. Paradox Runtime can read settings from PFWWORK.INI, but you must update its settings manually.

You can use PFWWORK.INI to override settings in PFWWIN.INI and the system registry. To do so, start Paradox Runtime with the command-line setting -d PFWWORK.INI.

 Related Topics


Overview: PFWWIN.INI, PDOXWIN.INI, and the system registry
PFWWIN.INI, PDOXWIN.INI, and the system registry

Previous versions of Paradox and Paradox Runtime stored settings that control default properties and application behaviors in PDOXWIN.INI. The information contained in this .INI file is now in the system registry. However, Paradox Runtime can still use settings from PDOXWIN.INI if they are copied, for example, to a file called PFWWIN.INI and run with the following command-line setting:

-i PFWWIN.INI

When used in this way, the settings in PFWWIN.INI override those in the system registry.

If you want, you can create a PFWWIN.INI using the registry entries as examples. The following table shows corresponding entries in the registry and the .INI file. The registry keys listed below are found under HKEY_CURRENT_USER\SOFTWARE\COREL\PARADOX RUNTIME\9.0\PDOXWIN.

Key	PFWWIN.INI section	Description

Designer	[Designer]	Specifies designer options; only the FlickerFreeDraw option is valid in Runtime

Desktop	[Desktop]	Determines the size and location of the Paradox Runtime Desktop

Form	[Form]	Specifies ruler and zoom display options in Form windows

History	[History]	Lists the history of directories used in the Project Viewer

ProjectViewer	[ProjectViewer]	Determines if the Project Viewer is displayed automatically on startup and whether to display all files, or only specified references. (References are specified in the PFWWORK.INI file. For more information, see PDOXWORK.INI and PFWWORK.INI)

Properties	[Properties]	Changes default property settings and application behaviors

Report	[Report]	Specifies the zoom level for reports

Query	[Query]	Specifies options for queries

For users of earlier versions of Paradox

The following PFWIN.INI settings have changed since version 5.0:

•	[Editor Kernel]Tab size was [IDE]Tabinc

•	[Editor Window]Save prompt was [IDE]Save prompt

•	[Editor Window]Custom size was [IDE]UsrDefaultSize

•	[Editor Window]Font name and Font size were [IDE]Font, with parameters

 Related Topics


Overview: Project Viewer
Project Viewer

The Project Viewer in Paradox Runtime can be used to start applications and run reports, forms, and scripts. Because Paradox Runtime does not provide interactive design tools, the New and Design options are not available from the Project Viewer.

The Project Viewer appears on the desktop by default. To suppress its display whenever Paradox Runtime is started, create a PFWWIN.INI file in your Windows directory and add the following section to it:

[ProjectViewer]
OpenOnStartup = False

Then, start Paradox Runtime with this command-line option: -i PFWWIN.INI

If you want to display the Project Viewer, you can also choose to add references to the Project Viewer by creating a PFWWORK.INI file, which follows the same syntax as a PDOXWORK.INI file in Paradox. (For more information, see PDOXWORK.INI and PFWWORK.INI.)

To display the Project Viewer automatically and restrict the view to references only

1.	Create a PDOXWORK.INI file in Paradox using the Project Viewer, Edit, Add Reference and Edit, Remove Reference.

2.	Copy the PDOXWORK.INI file to PFWWORK.INI.

3.	Edit PFWWORK.INI and add the following section, that makes Paradox Runtime display the Project Viewer and display only references:

[ProjectViewer]
OpenOnStartup = True
ReferencesOnly = True

4.	Start Paradox Runtime with the command-line option -d PFWWORK.INI.

 Related Topics


Interoperability issues


Overview: Interoperability with other products
Interoperability with other products

You may need to modify your Paradox Runtime application to avoid issues that arise when it runs concurrently with other products, including itself. If you have multiple software programs that are based on the same Borland Database Engine (BDE), including Borland Delphi, Visual dBASE, and others, you must use the same BDE configuration file if these programs are to run at the same time. Because different instances of BDE cannot open different BDE configuration files, you must merge the different .CFG files and combine all the defined aliases into a single configuration file. You should also designate a common NET DIR location and specify it in this configuration file.

You should also avoid having other applications attempt access to Paradox Runtime's private directory. Paradox Runtime uses the private directory to hold temporary work files, such as answer tables and so on. A lock is placed on this directory that prevents all access by other software programs, including other instances of Paradox or Paradox Runtime.

Click a topic for additional guidelines on interoperability:

•	Compatibility with Paradox

•	Compatibility with Paradox for Windows version 7.0 and earlier

•	Compatibility with Paradox for DOS

•	Compatibility with Visual dBASE

•	Compatibility with the Borland Database Desktop

•	Multiple instances of Paradox Runtime

•	Private directory

•	BDE configurations

•	BDE 16-bit and 32-bit issues

•	OLE 2.0 and OLE automation limitations

 Related Topics


Overview: Compatibility with Paradox
Compatibility with Paradox

Paradox Runtime can run without modification concurrently with Paradox, as long as Paradox does not try to use the Runtime private directory.

All BDE-based applications must use the same BDE configuration file if they are to run concurrently. See BDE configurations for additional information.

When they are both installed on the same computer, Paradox takes precedence over Paradox Runtime for default associations with Paradox file types.

 Related Topics


Overview: Compatibility with Paradox for Windows version 7.0 and earlier
Compatibility with Paradox for Windows version 7.0 and earlier

You must use Paradox to recompile delivered applications developed in Paradox version 7.0 or earlier before they will work in Paradox Runtime.

If you run both Paradox Runtime and Paradox for Windows version 7.0 or earlier concurrently, make sure that the private directories used by both applications are unique. See Private directory for additional information.

All BDE-based applications must use the same BDE configuration file if they are to run concurrently. See Merging BDE configurations for additional information on this topic.

Paradox for Windows version 5.0 and earlier used the 16-bit version of BDE. For more information on setting up your BDE configuration file for use with 16-bit and 32-bit BDE applications, see BDE 16-bit and 32-bit issues.

 Related Topics


Overview: Compatibility with Paradox for DOS
Compatibility with Paradox for DOS

Paradox Runtime can run without modification concurrently with Paradox for DOS, as long as Paradox for DOS does not try to use the Paradox Runtime private directory.

Paradox Runtime uses the BDE database engine and the PDOXUSRS.NET file to control table sharing on the network. Since Paradox for DOS versions 4.0 and 4.5 also use the PDOXUSRS.NET file, Paradox Runtime can share data concurrently from your Paradox for DOS versions 4.0 and 4.5 applications on the network.

Versions of Paradox for DOS earlier than 4.0 use a PARADOX.NET file to monitor the user count and to control table sharing on the network. Therefore, users of BDE, IDAPI, and ODAPI-based applications and Paradox for DOS versions 4.0 and 4.5 cannot share data concurrently with users of earlier versions of Paradox for DOS. For this reason, you should upgrade earlier versions of Paradox to the latest version of Paradox.

 Related Topics


Overview: Compatibility with Visual dBASE
Compatibility with Visual dBASE

Paradox Runtime can run without modification concurrently with Borland's Visual dBASE and previous versions of dBASE for Windows, as long as the dBASE application does not try to use the Paradox Runtime private directory.

All BDE-based applications must use the same BDE configuration file if they are to run concurrently. See BDE configurations for additional information.

Visual dBASE and previous versions of dBASE for Windows use the 16-bit version of BDE. For more information on setting up your BDE configuration file for use with 16-bit and 32-bit BDE applications, see BDE 16-bit and 32-bit issues.

If your Paradox Runtime application is accessing the same data as your dBASE application, and the data accessed by both applications is stored on a local drive, you must set the Local Share setting in the BDE Administrator to On. See Setting Local Share in the BDE Administrator for additional information.

 Related Topics


Overview: Compatibility with the Borland Database Desktop
Compatibility with the Borland Database Desktop

Paradox Runtime can run without modification concurrently with the Borland Database Desktop, as long as the Borland Database Desktop does not try to use the Paradox Runtime private directory.

The Borland Database Desktop is BDE-based and is included with products such as Borland Delphi and Visual dBASE.

All BDE-based applications must use the same BDE configuration file if they are to run concurrently. See BDE configurations for additional information.

If Borland Database Desktop was supplied with a 16-bit application, the Borland Database Desktop version is also 16-bit. If you want to run Paradox Runtime and your Borland Database Desktop application concurrently, you must set up your BDE configuration file for both 16-bit and 32-bit applications. For more information, see BDE 16-bit and 32-bit issues.

 Related Topics


Overview: Multiple instances of Paradox Runtime
Multiple instances of Paradox Runtime

If your application runs its own instance of Paradox Runtime concurrently with other instances of Paradox Runtime, each instance of Paradox Runtime must use a different private directory.

To prevent multiple instances of Paradox Runtime from running concurrently, start each instance with the command-line option -b. This option starts Paradox Runtime if it is not already running or activates and uses the instance of Paradox Runtime that is already running.

 Related Topics


Overview: Private directory considerations
Private directory considerations

When using Paradox Runtime concurrently with other BDE programs, make sure each program uses a different private directory.

The location of the private directory for Paradox Runtime is stored in the system registry. See WIN.INI settings in the system registry for additional information.

You might prefer to specify the private directory by starting the program with the command-line option -p directory, where directory is the name of the private directory to use. For example, to start Paradox Runtime with the private directory set to C:\PDXRPRIV, enter

PDXRWN32.EXE -p C:\PDXRPRIV

For more information on this, and other command-line parameters available in Paradox Runtime, see Command-line options.

 Related Topics


Overview: BDE configurations
BDE configurations

If you use Paradox Runtime concurrently with other BDE programs and your application relies on public aliases or other custom BDE settings, you must create a BDE configuration (.CFG) file containing your custom settings and merge it with the configuration file on the user's system. See the online Help provided with the BDE Administrator for more information on creating and merging .CFG files.

For more information on setting up your BDE configuration file for use with 16-bit and 32-bit BDE applications, see BDE 16-bit and 32-bit issues.

 Related Topics


Overview: BDE 16-bit and 32-bit issues
BDE 16-bit and 32-bit issues

Paradox Runtime is a 32-bit application which uses a 32-bit version of the BDE. If you currently have 16-bit BDE applications (formerly called IDAPI or ODAPI), you may safely install the 32-bit version of BDE in the same location as your 16-bit IDAPI or ODAPI system files. Since the 32-bit and 16-bit versions use different filenames, the 16-bit version will not be overwritten and will still be available for your 16-bit IDAPI and ODAPI applications.

If you use 16-bit and 32-bit BDE applications on the same system, you should configure your BDE configuration file (usually called IDAPI32.CFG) for Win 3.1. You can do this by starting the BDE Administrator from the Paradox Accessories program group and choosing Object, Options, Configure Win 3.1 to enable this option. This saves BDE configuration options in the same format as IDAPI and ODAPI so the configuration file can be shared.

You should also configure your BDE configuration file for Win 3.1 if you plan to use the command-line override parameter of -o.

Paradox sets this configuration parameter to Win 3.1 by default; however, if you installed other BDE applications after you installed Paradox, this setting may have been changed.

 Related Topics


Setting Local Share in the BDE Administrator

If you are running multiple BDE-based applications that access data concurrently stored on a local drive, you must set Local Share on in your BDE configuration file.

To set Local Share on

1.	Run the BDE Administrator from the Paradox Tools program group.

2.	Click the System tab.

3.	Under System\INIT, set the value of the Local Share option to True.

4.	Save the changes.

 Note

•	Make sure that the configuration file you are changing is the one that is used by your applications that access the shared, local data.


Borland Database Engine (formerly IDAPI or ODAPI). Paradox uses this database engine to access and deliver data. BDE maintains information about your PC's environment in the BDE configuration file (usually called IDAPI32.CFG). Use the BDE Administrator to change the settings in this configuration file.

Other BDE clients include Borland C++, Borland Delphi, Visual dBASE, and Borland Database Desktop.


A temporary table used to store the results of a query.


Using this application with SQL


Overview: About SQL
About SQL

SQL (Structured Query Language) [image] descended from SEQUEL (or Structured English QUEry Language) [image] is a language for constructing relational database management systems (RDBMS) on any hardware platform. It is now the standard language for network queries across different hardware and software platforms.

SQL servers run on local area network (LAN) file-server systems, minicomputers, and mainframes. If you have Borland SQL Links or other software links to an SQL server, such as ODBC, you can access data with this application.

 Related Topics


Overview: SQL terminology
SQL terminology

SQL	Paradox	Description

Table	Table	A structure of rows (records) and columns (fields) that contains information

Row	Record	A group of columns (fields) in a table that contain related information about a single record

Column	Field	A category of information (column) in a table that cuts across all rows in the table

 Related Topics


Overview: Preparing to connect to an SQL database
Preparing to connect to an SQL database

Before you can begin to access an SQL database, you must complete the following steps:

Action to complete	Description

Enable SQL database access	Make sure you have a valid user ID and password on the SQL server, and at least Read access privileges for the SQL database. See your database administrator.

Install necessary client software	Install any client software libraries required to communicate with the SQL server. Test software is usually included. Make sure this test software can successfully connect to the SQL server before using an SQL alias.

Install an SQL driver 	Install an SQL driver for your SQL server; this application supports Borland SQL Links as well as ODBC.

Configure the SQL driver	When you first install the SQL driver, it uses all the default driver settings. Make sure these default settings are right for your server installation before you create any aliases for your SQL database. For details, see Help for the BDE Administrator, installed with this application.

Create at least one SQL alias	Your SQL database alias includes your user name and password on the target SQL server and is required to access any SQL data. A generic SQL alias is automatically created the first time you modify the default link driver parameters after installation. See the Borland SQL Links Help or Help for the BDE Administrator.

 Related Topics


Connecting to the SQL server

The first time you try to access data in your SQL database through this application, the Database Information dialog box appears. To complete the connection, enter your password in the Database Information dialog box and click the OK button.

If the connection is successful, this application continues with the operation you requested. The connected database remains connected until you either exit the application or manually disconnect.

Connecting manually

If you want to connect to a database without first performing a database action, you can connect manually through the Alias Manager:

1.	Click Tools, Alias Manager to open the Alias Manager dialog box.

2.	Choose the desired alias from the Database Alias drop-down list. This application displays the alias and its connection parameters.

3.	If necessary, modify the alias connection parameters. Then enter your password and click Connect. If the connection is successful, the Alias Manager displays "Connection is successful. Database is open."

4.	Click OK.

Disconnecting manually

To disconnect from the SQL server without exiting this application, redisplay the Alias Manager, select the appropriate alias, and click Disconnect.


Overview: Changes in the desktop when an SQL driver is installed
Changes in the desktop when an SQL driver is installed

When an SQL driver is installed, this application is said to be SQL-enabled.

The desktop changes in a number of ways:

•	New icons

Whenever you access the SQL server, you see the SQL hourglass.

•	Working directories

Since you cannot store objects such as reports and forms on SQL servers, you cannot set an SQL server as the location for your working directory.

You might want to set up a local directory to hold all the forms and reports you use when you work with a particular SQL database. Once you connect to that database, you can then open the local directory and put your working tools at your fingertips. You can also easily apply the tools across other SQL databases.

•	Refreshing data displays

When you are using local tables, as soon as one user makes a change to a shared database, all users see their view of the data refreshed. However, when you are working on an SQL server, this does not occur.

If you are working with indexed SQL tables, you can update the active window by pressing CTRL + F3 periodically. CTRL + F3 shows any updates made to a table while you are viewing it.

 Related Topics


Overview: Changes in form windows with SQL
Changes in form windows with SQL

When this application is SQL-enabled, Form windows change in the following ways:

•	Because of differences in how indexing functions in an SQL environment, there are minor differences in the Filter dialog box.

•	Since SQL driver record locking follows different rules than this application, editing and posting of changes to SQL data is different.


Technical tips


Overview: Technical tips
Technical tips

Below is a list of technical topics which may help in designing your application. Click on any topic for more information:

•	ObjectPAL access to the Toolbar

•	Using Long filenames

•	Distributing HTML publishing applications

•	Registration of file extensions in Windows

•	Registration of add-ins for Paradox Runtime

•	Updating ObjectPAL windowHandles() functions for the 32-bit environment

•	Calls to Windows API and other DLLs

•	Case-sensitive filenames in the ObjectPAL Run-time Library (RTL) functions

•	SQL files in FormOpenInfo, ReportPrintInfo, and ReportOpenInfo

•	Query variables with extended characters

•	Data-aware ActiveX controls

•	ActiveX control keyboard handling

•	Possible OleAuto conflicts


ObjectPAL access to the toolbar

Use the Toolbar type methods to access the toolbar and modify its behavior. The following code shows how to display the various toolbars if they are not already displayed:

Var

ap Application

endVar

; Display the Global Toolbar

winPostMessage(ap.windowHandle(),winGetMessageID("WM_COMMAND"),30831,0)

; Display the Format Toolbar

winPostMessage(ap.windowHandle(),winGetMessageID("WM_COMMAND"),7903,0)

; Display the Standard Toolbar

ShowToolbar()

 Related Topics


Long filenames

Because Windows doesn't keep short filenames fully synchronized with long filenames, you should NOT use long filenames for your tables if you use these tables with applications that don't support long filenames. These include earlier versions of Paradox, Paradox Runtime, dBASE, or any 16-bit Borland IDAPI or ODAPI-based software. If you do use such software, the truncated filenames for the various files that make up your Paradox or dBASE tables may not be correctly recognized, and the older software might interpret the files as corrupt or obsolete.

If in doubt, we suggest you use short filenames for Paradox tables before using them with older software. The following are the file and directory short file-naming conventions under MS_DOS 6.0 and earlier. Violating any of the following rules will result in the file or directory name being treated as a long name (regardless of the actual length of the name).

Short filename conventions under MS_DOS 6.0 and earlier

•	Length must be a minimum of one character but must not exceed 11 characters.

•	One to eight characters constitute the filename or directory name and zero to three characters constitute the extension. The two parts are separated by a period (.).

•	Valid characters in a filename are A-Z, 0-9, and the punctuation and symbols _ ^ $ ~ # % & - { } @ ' ( ) !

•	Filenames cannot contain spaces, periods, or other characters not listed above.

•	Filenames are uppercase only; lowercase file names are mapped to uppercase.

•	If an accented character is used in a filename or directory name and that character does not have an uppercase equivalent in the MS-DOS code page, the name will be considered a long filename. For example, \á\ô will be treated as a long filename in a long name directory even though each name contains only a single character. The MS-DOS equivalent name is \A\O, that is, the uppercase versions of the letters without the accents. If this unaccented path and filename are used instead of the accented forms, both will be considered short names.

 Related Topics


Distributing HTML publishing applications

If your application involves static or dynamic publishing to HTML files or the Corel Web Server Control (ActiveX control), you need to follow these additional guidelines:

•	In your application, use the Repository methods of the HTML Publishing Library to create and populate the Web Server Repository for dynamic HTML publishing. For more information, see Paradox Internet Tools Help (PDXINET.HLP) included with Paradox.

•	When configuring your setup, be sure to

•	install GXPUB.DLL, GXENGINE.DLL, and HTMLIB01.LDL (the HTML Publishing Library) to the Paradox Runtime folder

•	install the following files in the Windows System folder: Corel Web Server Control (WEBSRV.OCX), MFC40.DLL, OLEPRO32.DLL, and MSVCRT40.DLL

•	self-register the following objects in this order: MFC40.DLL, OLEPRO32.DLL, WEBSRV.OCX

•	set the registry key for WEBSRV.OCX in

HKEY_LOCAL_MACHINE\SOFTWARE\COREL\WEB SERVER\1.0\CONFIGURATION

value=BasePath

data=where the default INDEX.HTM file located

The following settings are also needed:

[HKEY_LOCAL_MACHINE\SOFTWARE\COREL\WEB SERVER\1.0\MIME TYPE DATABASE]

[HKEY_LOCAL_MACHINE\SOFTWARE\COREL\WEB SERVER\1.0\REQUEST MANAGER]

[HKEY_LOCAL_MACHINE\SOFTWARE\COREL\WEB SERVER\1.0\REQUEST MANAGER\MAP]

[HKEY_LOCAL_MACHINE\SOFTWARE\COREL\WEB SERVER\1.0\REQUEST MANAGER\MAP\URI]

[HKEY_LOCAL_MACHINE\SOFTWARE\COREL\WEB SERVER\1.0\REQUEST MANAGER\MAP\MIME]

[HKEY_LOCAL_MACHINE\SOFTWARE\COREL\WEB SERVER\1.0\REQUEST MANAGER\MAP\DIR]

[HKEY_LOCAL_MACHINE\SOFTWARE\COREL\WEB SERVER\1.0\REQUEST MANAGER\HANDLERS]

"GXPUBLISH"="C:\\PROGRAM FILES\\COREL\\PARADOX\\GXPUB.DLL"

[HKEY_LOCAL_MACHINE\SOFTWARE\COREL\WEB SERVER\1.0\ALIAS MANAGER]

[HKEY_LOCAL_MACHINE\SOFTWARE\COREL\WEB SERVER\1.0\ALIAS MANAGER\MAP]

 Related Topics


Registration of file extensions in Windows

Windows 95 and Windows NT support filenames with embedded periods and extensions of more than three characters. Extensions must be registered with Windows to be recognized. Applications that use made-up extensions, or count on extensions only being three characters, may need to be rewritten.

To register an extension with Windows 95, open the Windows Explorer, right-click a file with that extension, then select "Open With...". Make sure the "Always use this program to open this file" box is enabled. Select the program to associate with the extension and click the OK button.

Alternatively, if you are familiar with the Windows Registry Editor, you may add the entry directly in the HKEY_CLASSES_ROOT section.

 Related Topics


Registration of add-ins for Paradox Runtime

The Paradox menu option Tools, Register Add-in is not available in Paradox Runtime. If you want to distribute add-ins with Paradox Runtime, you must use a command line parameter to register the add-in in the Windows system registry. For more information, see Command-line options.

 Note

•	For more information about developing add-ins, see the Paradox Add-in Developer Help (ADDINDEV.HLP) included with Paradox.

 Related Topics


ObjectPAL windowHandles() functions

Paradox 5.0 applications that use ObjectPAL's windowHandles( ) functions will generate an error in Paradox Runtime due to the 32-bit environment. In version 5.0, the operating system (Windows 3.1) returned a SmallInt. In Version 7, those functions return a LongInt. Applications that employ window handles should be rebuilt to use 32-bit (LongInt) window handles.

For more information, search for these topics in the ObjectPAL Reference Help supplied with Paradox:

•	Form::windowHandle()

•	Form::windowClientHandle()

 Related Topics


Calls to Windows API and other DLLs

Applications that call the Windows API directly will need to use the new 32-bit versions of these functions, which have new parameters, names, and calling conventions. The 32-bit Windows API is documented in Microsoft's Windows SDK, in Borland's C++ 4.5 and Delphi 2.0, and elsewhere. Applications that call third-party DLLs will need to obtain 32-bit versions of those DLLs in order for them to work with Paradox Runtime.

For more information on using DLLs, see the following topic in the ObjectPAL Reference Help supplied with Paradox: Using DLLs.

 Related Topics


Case-sensitive filenames in the ObjectPAL Run-time Library (RTL) functions

Windows 95 and Windows NT preserve the case of filenames. To be compatible with the host operating system, Paradox no longer uppercases filenames in the Run-time Library (RTL) functions that take or return filenames or parts of filenames.

If your application performs string comparisons on filenames or paths, call the String procedure IgnoreCaseinStringCompares(YES) to ignore upper and lower case differences. See the ObjectPAL Reference Help topic that is supplied with Paradox on the String procedure IgnoreCaseInStringCompares(YES).

 Related Topics


SQL files in FormOpenInfo, ReportPrintInfo, and ReportOpenInfo

The following additions were made to FormOpenInfo and ReportPrintInfo record structures to support SQL files as master tables of data models:

•	In addition to being a table name, the MasterTable field may be the name of a query or SQL file that produces an Answer table.

•	A new field, SQLString, has been added to FormOpenInfo, ReportOpenInfo, and ReportPrintInfo. Use it to specify an SQL statement to execute. SQLString is of type String.

•	To rebind a report to a newly created SQL statement, save the SQL statement to a file and specify the filename in ReportPrintInfo.MasterTable.

For more information on the following topics, see the ObjectPAL Reference Help supplied with Paradox:

•	FormOpenInfo record, see Open method of the Form type

•	ReportPrintInfo record, see Print method of the Report type

 Related Topics


Query variables with extended characters

The ObjectPAL query variable does not support mixing of ANSI and OEM character sets. If the table, path name, or alias specified inside a query variable contains extended characters, and you are querying an ANSI table, you must convert that name to OEM before using it. To do so,

1.	Create a string variable and set it equal to the extended character name you want to use.

2.	Use the string method toOEM to convert the string to OEM.

3.	Use the converted string variable as a tilde variable within the query variable.

 Related Topics


Data-aware ActiveX controls

ActiveX controls that are "data aware" or support "data binding" can be bound to a field in a table in a form's data model. This is done by setting the OLE control's DataSource property, which takes a string value of the form "[table.fieldname]". You can set this in the Object Explorer or using ObjectPAL. The property is saved to disk, which means that a data-bound ActiveX control will be re-bound when the form is launched.

The UIObject wrapper for the ActiveX control does not do type matching. It is your responsibility to bind the ActiveX control to a field of an appropriate type in the data model. Some type conversions will be done on behalf of this data binding. For example, if the ActiveX control's data bound property is of type String, binding it to a number or date field in the data model will do the appropriate conversion.

Not all ActiveX controls support data binding. To support data binding, an ActiveX control must have a property marked "default" and "bindable". There will be at most one property marked as the default bindable property. This should be the property that best represents the state or value of the control. You must consult the control's documentation to determine whether it has a default bindable property and which one it is.

 Related Topics


ActiveX control keyboard handling

The design of an ActiveX control should include handling responses to the Windows message WM_GETDLGCODE where the control indicates what keystrokes it accepts. Paradox respects this information and hands keystrokes to the ActiveX control that it indicates it will accept. The remaining keystrokes are sent to the UIObject's keyPhysical event. Certain ActiveX controls that are programmed incorrectly may be denied keystrokes when run in a Paradox form.

ObjectPAL programmers can work around this problem by calling a method on the OLE UIObject wrapper for an ActiveX control called setOCXWantKeys(Logical). If set to TRUE, all keystrokes are sent to the ActiveX control. If set to FALSE, only those keystrokes that the ActiveX control indicates it wants are sent (this is the default behavior).

For example, you have an ActiveX control called #MyActiveX3 on your form. The code to enable all keystrokes for the ActiveX control would be:

#MyActiveX3.setOCXWantKeys(True)

The method returns the previous state of the ActiveX control "wants keys" state.

 Related Topics


Possible OleAuto conflicts

The OleAuto type methods can be used to launch an OLE automation server application. The OleAuto variable can then call the methods exposed by the server application. If the server exposes a method that has the same name as a Paradox OleAuto type RTL method, a conflict can occur. When using the standard ObjectPAL dot notation, the Paradox RTL method will always override the automation server's method. This can be dangerous in cases where the OLE automation server has a delete method since the OleAuto delete method will take precedence. To avoid such ambiguity, a new "^" operator has been added. This operator instructs Paradox to execute the server method. The following example shows this syntax:

var

oa oleAuto

endVar

oa.open("myOleAutoServerApplication")

oa^myServerMethod( )

 Related Topics


Installing Paradox Runtime


Overview: Installing Paradox Runtime
Installing Paradox Runtime

You can install Paradox Runtime on your own computer and on individual client machines in accordance with the terms of the Paradox Runtime license agreement.

Paradox Runtime can also be installed on a network to be accessed by many users at once. If your application also requires users to share data that is located on a network, you can configure Paradox Runtime to accommodate this.

 Note

•	When they are both installed on the same computer, Paradox takes precedence over Paradox Runtime for default associations with Paradox file types.

 More Detailed Information


Local Installations of Paradox Runtime


Overview: Local Installations of Paradox Runtime
Local Installations of Paradox Runtime

Before installing Paradox Runtime on a local drive, Microsoft Windows 98, 95, Windows NT 3.51 or later must already be installed.

To install Paradox Runtime on your local drive

•	Run SETUP.EXE from the Paradox Runtime CD-ROM.

To install Paradox Runtime on client machines

•	Use the Paradox Distribution Expert to create a setup program that includes your application files as well as the Runtime program files. For more information, see the Paradox Distribution Expert Help file (PDE.HLP) that is installed with Paradox Runtime.

 Related Topics


Network Installations of Paradox Runtime


Overview: Network installations of Paradox Runtime
Network installations of Paradox Runtime

In a networked environment, multiple users can manipulate the same tables. Paradox Runtime requires all network users of Paradox tables to designate a location for a PDOXUSRS.NET file. PDOXUSRS.NET tracks users and writes lock files; it is a gateway through which all users of Paradox files on the network must enter.

Paradox Runtime supports all Paradox multi-user capabilities. When you start a Paradox Runtime application on the network, Paradox Runtime searches for the PDOXUSRS.NET file in the location specified by the NET DIR setting of the BDE configuration file. PDOXUSRS.NET is the network control file that monitors access to tables stored on the network and allows multiple users to safely access the data concurrently. If Paradox Runtime does not find PDOXUSRS.NET at the specified location, it is created there. (It will not, however, create the directory if the path does not exist.)

You must specify a location for the PDOXUSRS.NET file if your application

•	accesses data files stored on a network location, or

•	allows several users to access data concurrently

If your application requires that multiple users share data, coordinate with the users' network administrator on designating a central, shared directory where all Paradox Runtime users can access a common PDOXUSRS.NET file. Users whose copies of Paradox Runtime point to the same PDOXUSRS.NET can share Paradox resources, letting you install your application files in a single location where multiple users can access it. When users point to different NET DIR locations, the first user to start Paradox Runtime will be able to access the shared data; however, additional users will not.

If your application is stored on the network but does not require that users share data, then its BDE configuration file can point to its own PDOXUSRS.NET location. In a heavily used network environment, such an application might perform better than one using a shared PDOXUSRS.NET.

Many network systems allow more than one drive letter to map to a single shared disk drive. When designating the location of the PDOXUSRS.NET, the drive letter is not important, but the path is. For multiple users to share data, the NET DIR entry for each user must point to the same location.

 Notes

•	All networking instructions assume that the person installing Paradox Runtime is a network administrator or supervisor with full (parental) rights to all directories on the network.

•	On peer-to-peer networks, the non-dedicated server must share a directory for PDOXUSRS.NET with its clients. You have flexibility in how you arrange this, such as which machine will have the directory and its location on that machine's hard disk. In any case, any machine accessing the PDOXUSRS.NET file on its hard disk must have the Local Share option set to True. Local Share is set in the BDE Administrator from the System tab.

•	Up to 300 Paradox Runtime users can share a single PDOXUSRS.NET file.

 Related Topics


Overview: Network configurations
Network configurations

When you install Paradox Runtime for sharing data on a network, you can choose from the following configurations:

•	Each workstation has Paradox Runtime installed on its local hard disk, but users share Paradox Runtime data in network directories. See Local Installations of Paradox Runtime.

•	Each workstation runs Paradox Runtime from the network, and users share Paradox Runtime data in network directories.

After deciding on the best configuration for your needs, see Network installations of Paradox Runtime. for instructions on starting an installation using the network administrator's workstation.

 Related Topics


Overview: Location of PDOXUSRS.NET
Location of PDOXUSRS.NET

You specify the location of PDOXUSRS.NET with the BDE Administrator (see Configuring Paradox Runtime for sharing data on a network for details). You must specify a single location in a shared data directory on the network to which all BDE applications have full rights.

When the first user starts a BDE application on the network, the application searches for PDOXUSRS.NET in the location you specified. If it cannot find PDOXUSRS.NET, it is created in the specified location. Subsequent users will find the file and use it. If the file is accidentally erased, the application recreates it.

Many network systems allow more than one drive letter to map to a single shared disk drive. When designating the location of PDOXUSRS.NET, the drive letter is not important, but the path is. If, on two machines, the location of PDOXUSRS.NET is specified using different paths, the two machines cannot share network files. Also, if you do not designate the same PDOXUSRS.NET file location for each user, and multiple PDOXUSRS.NET files are active during a Paradox Runtime session, some users might be unable to access shared data.

People using the same PDOXUSRS.NET file can share data, but anyone using a different PDOXUSRS.NET file cannot share data with them.

 Notes

•	Make sure that the location you specify is fully accessible by all users. If you do not, a user at another workstation might not be able to start Paradox Runtime or access shared data.

•	On peer-to-peer networks, the non-dedicated server must share a directory for PDOXUSRS.NET with its clients. You have flexibility in how you arrange this, such as which machine will have the directory and its location on that machine's hard disk. In any case, all machines accessing the PDOXUSRS.NET file on its hard disk must have their Local Share option set to True. Local Share can be set in the BDE Administrator from the Drivers page.

 Related Topics


Installing Paradox Runtime in a network environment


Overview: Installing Paradox Runtime in a network environment
Installing Paradox Runtime in a network environment

Before installing Paradox Runtime on a shared network drive, Microsoft Windows 98, 95, Windows NT 3.51 or later must already be installed and you, as the installer, must have full rights to the network locations where you are installing Paradox Runtime.

Step 1: Installing Paradox Runtime on the network

Step 2: Copying the BDE files to the network

Step 3: Updating the system registry

Step 4: Creating the Paradox Runtime directories

Step 5: Configuring Paradox Runtime to use defined directories

Step 6: Configuring the network control file directory

 Related Topics


Installing Paradox Runtime on the network

Make sure to specify a shared network drive and path as the destination for Paradox Runtime files.

To install Paradox Runtime on a network

•	Run SETUP.EXE from the Paradox Runtime CD-ROM.

 Related Topics


Copying the BDE files to the network

1.	Create a shared directory on the network for the BDE files. All users must have access to this location in order to start Paradox Runtime.

2.	Copy all files located in C:\PROGRAM FILES\BORLAND\COMMON FILES\BDE to this shared BDE directory on the network.

If BDE is already installed, the Runtime Setup program uses the existing BDE location. You can check for a previous BDE installation and find its location in the DLLPATH string in the system registry under HKEY_LOCAL_MACHINE\SOFTWARE\BORLAND\DATABASE ENGINE.

 Related Topics


Updating the system registry

The system registry must be updated to reflect the network location of the BDE files.

To update the system registry

1.	Run the Registry Editor (REGEDIT.EXE in Windows 98 or 95, REGEDT32.EXE in Windows NT).

2.	Select HKEY_LOCAL_MACHINE.

3.	Update the path entries located at SOFTWARE\BORLAND\BLW32 to point to the BDE directory on the network for the following strings:

•	BLAPIPATH

•	LOCALE_LIB1

•	LOCALE_LIB2

•	LOCALE_LIB3

•	LOCALE_LIB4

•	LOCALE_LIB5

Update the path for each of these entries. If an entry contains a filename, update the path only and leave the filename intact.

To update the entries, double-click each entry under the Name column. This displays an Edit String dialog with an edit area for the path. Update the path to reflect the network location of BDE and click OK to accept the new setting.

4.	Update the path entries located at SOFTWARE\BORLAND\DATABASE ENGINE to point to the BDE directory on the network for the following strings:

•	CONFIGFILE01

•	DLLPATH

Update the path for each of these entries. If an entry contains a file name, update the path only and leave the file name intact.

5.	Close the Registry Editor and save the changes.

 Related Topics


Creating the Paradox Runtime directories

You must create additional shared-access directories for

•	your application and data files, where all users have appropriate access rights (see Shared data directory, PDOXDATA)

•	the Network Control File directory

In addition, all users must have their own unique locations created for:

•	the private directory

•	the home directory (copy all .FT and .FP files to each user workstation's home directory)

 Related Topics


Configuring Paradox Runtime to use defined directories

To have Paradox Runtime use these directories, you may choose to either

•	specify command-line overrides (for more information, see To use command-line options)

•	modify each user's system registry (see Configuration settings in the system registry)

 Related Topics


Configuring the network control file directory

If your application accesses data on the network, you must also configure the network control file directory (also known as the NET DIR or the location of the PDOXUSRS.NET file). For more information on setting this option, see Configuring Paradox Runtime for sharing data on a network.

To configure additional workstations to run Paradox Runtime from this shared network location, see Installing on user workstations.

 Related Topics


Installing on user workstations

You can set up additional user workstations to access a copy of Paradox Runtime that has been installed on the network by configuring each workstation as described below.

To install Paradox Runtime on user workstations

A. Create the Paradox Runtime and BDE registry entries

The registry of each workstation must be correctly configured to run Paradox Runtime. An easy way to create the required registry entries on each workstation is to import the information from a file. You can create this file from within the Registry Editor using the Export Registry File option from the Registry menu. From a computer that has been properly configured for Paradox Runtime, you can export specified registry keys to a file, then import them into the registry of the user workstation. For information on which keys to export to file, see Saving registry keys to a file.

1.	Start the Registry Editor (REGEDIT.EXE in Windows 98 or 95, REGEDT32.EXE in Windows NT).

2.	Click to select the HKEY_LOCAL_MACHINE\SOFTWARE key.

3.	Choose Registry, Import in Windows 98 or 95 (Registry, Restore in Windows NT) and specify the file names you used to save the BDE key information. (You should have used separate files for the BLW32 and Borland Database key information, as described in Saving registry keys to a file.)

4.	Click to select the HKEY_CURRENT_USER\SOFTWARE key.

5.	Choose Registry, Import or Registry, Restore and specify the filename you used to save the Paradox Runtime key information.

B. Create the user directories

You must create unique private and home directories for each user. For more information, see:

•	Private directories

•	Home directories

C. Create groups or links to point to Paradox Runtime on the network

At each workstation, create a link (in Windows 98 or 95) or a program group (in Windows NT) that contains Paradox Runtime icons. Follow the instructions in your Windows documentation.

D. Configure Paradox Runtime to use network directories

To have Paradox Runtime use network directories, you may choose to either:

•	specify command-line overrides (for more information, see Using command-line options)

•	modify each user's system registry (see Configuration settings in the system registry)

E. Configure Runtime for sharing data

See Configuring Paradox Runtime for sharing data on a network for details.

 Related Topics


Saving registry keys to a file

To simplify the setup of registry entries for each workstation accessing a shared copy of Paradox Runtime on the network, use the Registry Editor to export the following keys. If you select a network location when exporting the keys, this will save you the step of copying the file to the network.

To save BDE keys to a file

1.	Select the HKEY_LOCAL_MACHINE\SOFTWARE\BORLAND key in the Registry Editor. Then, choose BLW32.

2.	In Windows 98 or 95, choose Registry, Export Registry File to open the Export Registry File dialog box. In Windows NT, choose Registry, Save Key.

3.	In the File Name box, specify a filename to save the BLW32 keys. Click the Save button.

4.	Repeat steps 1 through 3, but choose DATABASE ENGINE instead of BLW32 in step 1.

To save Paradox Runtime keys to a file

1.	Select the HKEY_CURRENT_USER\SOFTWARE\COREL\PARADOX RUNTIME\9 key in the Registry Editor.

2.	Select Registry, Export Registry File (or Registry, Save Key) to open the Export Registry File dialog box.

3.	In the File Name text box, specify a filename to save the Paradox Runtime keys. (Choose a different filename than when saving the BDE keys in the previous step.) Click the Save button.

These registry files can be used to create the required keys when setting up user workstations to access Paradox Runtime on a network.

 Related Topics


Configuring Paradox Runtime for sharing data on a network

After you have installed Paradox Runtime, you need to configure each workstation to access data on a network. The NET DIR setting of the BDE configuration file specifies where Paradox Runtime is to look for the PDOXUSRS.NET file.

For users to share data, you must specify the same network directory location of PDOXUSRS.NET for each workstation.

To configure Paradox Runtime to share data on a network

1.	Run the BDE Administrator from the Paradox Tools program group.

2.	On the Configuration page, choose Drivers\Native\Paradox.

3.	Choose the Paradox driver.

4.	For NET DIR, type the drive and full path where Paradox Runtime should look for the PDOXUSRS.NET file on the network. This step assumes you have already created this directory on the network and given every user full access rights to it.

5.	Make sure that each workstation points to the same location for the PDOXUSRS.NET file.

 Note

•	For step 4, make sure that the location you specify is fully accessible by all users; if you do not, a user at another workstation might not be able to start Paradox Runtime or access shared data.

•	Make sure that the location you specify is a valid directory. The directory will not be created for you if it does not already exist.

 Related Topics


Additional Resources for Paradox Runtime


Overview: Additional Resources for Paradox Runtime
Additional Resources for Paradox Runtime

There are a number of additional help files, online references files, PDF help files, and hardcopy manuals that you can use to help you become more familiar with Paradox, and consequently, Paradox Runtime. The following resources are available with Paradox Developer's Edition:

Resource	Description

Paradox Online Help	The Paradox online Help system enables you to retrieve all the information you need quickly, and then return to your work. Help appears in a separate window on your screen.

ObjectPAL Online Help	In addition to the Paradox Online help, the ObjectPAL online help system provides information on the object-based, event-driven, visual programming language used to extend the power of Paradox. It provides in-depth explanations on the language elements and also provides reference tables and example code that you can paste directly into your editor window.

Paradox Online Tutorial	The online tutorial teaches you how to use Paradox. The tutorial is very useful for both beginners who want to learn Paradox and for users of previous versions who want to learn the new features in Paradox 9.

ObjectPAL Online Tutorial	The ObjectPAL online tutorial takes you through the basics of ObjectPAL. It is an essential tool for those who have never used ObjectPAL before and provides an excellent introduction to object-based programming.

Paradox 9 User Guide	The Paradox 9 User Guide contains most of the information from the online help. If you use Paradox 9 as part of WordPerfect Office 2000, you can refer to the Paradox section of the WordPerfect Office 2000 User Guide for help.

ObjectPAL Reference Guide	The two volumes provide a reference guide to the ObjectPAL language. They include a complete language reference on ObjectPAL basic language elements, methods, and procedures in the ObjectPAL run-time library, and ObjectPAL constants. All the ObjectPAL types are organized alphabetically, listing the methods associated with each type and examples for each method.

jPdox Web Utilities User Guide	Provides a brief introduction to the components of jPdox Web Utilities, including Paradox Web Form Designer, Corel Web Server, Paradox Java Database Connectivity Driver, Paradox Report Server, JDBC Proxy Server, and JRun.

Corel Reference Center	Contains online manuals in Adobe Acrobat Portable Digital File (.PDF) format. You can search the manuals to quickly find the information you need.

 Tip

•	The ObjectPAL Reference Help file is a valuable resource for developing Paradox Runtime applications. It includes a complete library of ObjectPAL code examples. You can cut and paste the online code examples from the ObjectPAL Online Help into your scripting window.


Paradox Runtime Developer Help


Overview: Welcome to Paradox Runtime Developer Help
Welcome to Paradox Runtime Developer Help

This Help file provides information on developing and distributing applications for use with Paradox Runtime. It is intended to provide information to the developer and is not intended for distribution to end-users of Paradox Runtime.

For information on the Runtime menus and Toolbar, see the Application Basics Help, which is installed with Paradox Runtime and can also be accessed from the Help menu within Paradox Runtime.

 Related Topics


Overview: Paradox Runtime redistributables
Paradox Runtime redistributables

Paradox Runtime is provided under the terms of the license agreement to registered Paradox users. After you are registered to use Paradox and Paradox Runtime, you or your company can make unlimited copies of Paradox Runtime for distribution with your application.

Redistributable Table Repair Utility files

Registered owners of Paradox Runtime are authorized to redistribute the following Table Repair Utility files needed to allow table repair in distributed applications:

•	TUTIL32.DLL

•	TUTIL32.FDL

•	TUWWR32.DLL

•	TUTILITY.HLP

These files are located in the directory containing your installed copy of Paradox. If you want to allow table repair in your distributed application, you must install these files as part of your custom application.

Additional agreements

When you develop and distribute applications as a registered Paradox Runtime user, you agree to

•	label each physical disk containing Paradox Runtime system files that you distribute with the following copyright notice:

Paradox Runtime Copyright ©1997 Corel Corporation and Corel Corporation Limited. All Rights Reserved.

Portions Copyright ©1985, 1995 Borland International. All rights reserved.

•	sublicense all users of your Paradox Runtime applications with the end-user license agreement

End-user license agreement

You must supply an end-user license agreement for anyone who uses your application under Paradox Runtime. This agreement must specify that the end-user(s) will

•	acknowledge that Paradox Runtime is licensed by Corel Corporation and Corel Corporation Limited and may not be copied by the end-user(s)

•	look solely to you, the application developer, for any support services required by your application

•	have recourse solely to you for any damages resulting from the use of your application

This acknowledges that Paradox Runtime is provided to you by Corel Corporation and Corel Corporation Limited as is and without warranties or liability for any damages.

 Related Topics


Paradox Runtime Basics


Overview: Paradox Runtime Basics
Paradox Runtime Basics

Paradox Runtime is a shell for running applications developed using Paradox and ObjectPAL. You can use Paradox Runtime to

•	run full-featured database applications complete with Toolbars, custom and pop-up menus, and multi-user capabilities

•	view and print reports

•	run forms and ObjectPAL scripts

•	display network and system information

•	specify working and private directories and aliases

•	execute QBE and SQL queries (including pass-through SQL commands) under ObjectPAL control

Paradox Runtime lets you distribute applications in a cost-effective way. Under the terms of the Paradox license, developers cannot make copies of Paradox itself; however, they can distribute unlimited copies of Paradox Runtime with no licensing fees (provided they follow the rules outlined in Paradox Runtime redistributables).

The Paradox Runtime package also provides the Paradox Distribution Expert tool to help you create a customized setup program for your applications. For more information, see the Paradox Distribution Expert Help file (PDE.HLP) included on the Paradox Runtime CD-ROM.

 More Detailed Information


System Requirements


Overview: Basic system requirements
Basic system requirements

Paradox Runtime requires the hardware and software described in the following table:

Component	Description/Comments

Microprocessor	80386 or higher

RAM	For Windows 98, 95, 8MB (12MB is recommended). For Windows NT 12MB (16MB is recommended). Performance improves with more memory.

Hard disk	A hard disk is required. You need at least 12.5MB of free disk space to install Paradox Runtime and use it effectively. The Paradox Runtime system files take 7.5MB.

Video monitor	VGA or higher

Microsoft Windows	Windows 95 or Windows NT 3.51 or later

Mouse	Although not required, a mouse is recommended.

Network	A network is not required, but Paradox Runtime supports any network that is 100% Windows-compatible.

 Related Topics


Overview: Multi-user networks supported
Multi-user networks supported

To use Paradox Runtime on a network, your network software must be 100% Windows-compatible.

You also need one or more personal computers to serve as workstations. See Basic system requirements for the minimum requirements for each workstation computer.

 Related Topics


Component Files


Overview: BDE file set
BDE file set

The Paradox Runtime setup installs the following files for the Borland Database Engine (BDE):

•	BDEADMIN.CNT

•	BDEADMIN.CPL

•	BDEADMIN.EXE

•	BDEADMIN.HLP

•	BLW32.DLL

•	BORLAND.REG

•	CEEUROPE.BLL

•	CHARSET.BLL

•	EUROPE.BLL

•	FAREAST.BLL

•	IDAPI.CNF

•	IDAPI32.DLL

•	IDASCI32.DLL

•	IDBAT32.DLL

•	IDDAO32.DLL

•	IDDBAS32.DLL

•	IDDR32.DLL

•	IDODBC32.DLL

•	IDPDX32.DLL

•	IDPROV32.DLL

•	IDQBE32.DLL

•	IDR20009.DLL

•	IDSQL32.DLL

•	JAPAN.BLL

•	OTHER.BLL

•	TUTIL32.DLL

•	TUTIL32.LIB

•	USA.BLL

 Related Topics


Overview: Framework file set
Framework file set

The Paradox Runtime setup installs the following files for the Paradox Application Framework:

•	PATH: <INSTALLDIR>\PARADOX\FRMWRK\FW

APPABOUT.FSL

APPDESK.FSL

APPMAP.FSL

APPSPLSH.FS

FW.LSL

FWDM.LDL

FWERR.FSL

FWEVENT.LDL

FWGLBL.LSL

FWON.LDL

FWTOOLS.LDL

•	PATH: <INSTALLDIR>\PARADOX\FRMWRK\FWTBLS

APPPROP.DB

APPPROP.PX

APPPROP.XG0

APPPROP.XG1

APPPROP.YG0

APPPROP.YG1

APPPTYP.DB

APPPTYP.PX

APPPVAL.DB

APPPVAL.PX

•	PATH: <INSTALLDIR>\PARADOX\FRMWRK\FWSETUP

FW.INI

 Related Topics


Directories used by Paradox Runtime


Overview: Directories used by Paradox Runtime
Directories used by Paradox Runtime

Paradox Runtime uses the following directories:

•	BDE directory

•	Runtime system directory

•	Private directories

•	Working directories

•	Home directories

Paradox Runtime also uses the following directories in a network environment:

•	Shared data directory PDOXDATA

•	Network control file directory

The location of these directories depends on Paradox Runtime's network configuration. See Network configurations for a description of each network configuration.

 Related Topics


BDE directory

When Paradox Runtime starts, it looks for the BDE files in the location it reads from the system registry.

When you install Paradox Runtime, the BDE files, including IDAPI32.CFG, are installed in C:\PROGRAM FILES\BORLAND\COMMON FILES\BDE by default.

If you are using Paradox Runtime on a network, all users must have at least read-only rights to the directory containing the BDE files.

 Related Topics


Runtime system directory

The Paradox Runtime system directory contains the system (program) files.

When you install Paradox Runtime, the default location for Paradox Runtime is PROGRAM FILES\COREL\PARADOX 9 RUNTIME on the Windows system drive.

If you are using Paradox Runtime in a networking environment, you may specify a shared directory.

 Related Topics


Shared data directory PDOXDATA

For all network configurations, create at least one shared data directory on the network to which all users have full rights. You need one such directory for the PDOXUSRS.NET control file, and you need one to store shared objects. The same shared directory can serve both purposes. Name this directory PDOXDATA.

All users must have full rights to the network directory containing PDOXUSRS.NET because the first user to start Paradox Runtime creates this file, and all users read from and write to that file during their sessions.

 Related Topics


Private directories

When you install Paradox Runtime, a subdirectory named PRIVATE is created automatically under the Runtime system directory.

Paradox Runtime uses private directories to store each user's temporary objects, such as answer tables. Each user's private directory must be unique; otherwise, one user's temporary objects would overwrite another's. Every person who uses Paradox Runtime must have a private directory.

Consider using these private directories for network environments:

•	Create a PROGRAM FILES\COREL\SHARED\PRIVATE directory, if the workstations have local hard disks.

•	If a workstation has no local hard disk, make the workstation user's network home directory the private directory. The user must have full rights to the directory.

Keep these things in mind when specifying private directories:

•	You cannot use a floppy disk drive as a private directory.

•	If a user performs queries on large tables, the private directory should be located on a drive with adequate disk space.

•	You identify each user's private directory by editing the system registry or by overriding the default location of the private directory with the -p command-line option.

 Related Topics


Working directories

The Paradox Runtime working directory contains the Paradox Runtime data files. When you install Paradox Runtime, a directory named WORKING is automatically created under the Paradox Runtime system directory. You can change this default by modifying the system registry, or overriding the default location of the working directory with the -w command-line option.

 Note

•	If the Paradox Runtime working directory is a network shared directory, multiple users can access its data concurrently. If a user designates a network directory as a private directory, this prevents all other users from working with objects stored there. Paradox Runtime informs other users of the name of the user who has made the directory private when they try to access its data.

 Related Topics


Home directories

The Paradox Runtime home directory contains the Paradox Runtime files that are user-specific but not project-specific. For example, the home directory includes files such as screen (.FT) and printer (.FP) style sheets.

 Note

•	If Paradox Runtime is installed on a network drive and the workstation does not have a local hard disk, make the workstation user's network home directory the same as the private directory. In any case, the user must have full rights to both these directories.

 Related Topics


Network control file directory (PDOXUSRS.NET file)

Paradox Runtime looks in the network control file directory for the PDOXUSRS.NET file. This file controls access to tables stored on the network. All users who share data must point to the same location for this file.

Run the BDE Administrator from the Paradox Tools program group to designate the location of the PDOXUSRS.NET file. See Configuring Runtime for sharing data on a network for steps involved in setting this parameter.

 Related Topics


Paradox features unavailable in Pardox Runtime


Overview: Paradox features unavailable in Paradox Runtime
Paradox features unavailable in Paradox Runtime

If you are developing an application for Paradox Runtime, you should be aware of Paradox and ObjectPAL features not supported by Runtime, such as:

•	Unavailable interactive features including table windows and the ability to design reports and forms

•	Unavailable ObjectPAL features including commands to edit and debug ObjectPAL code

•	OLE 2.0 and OLE Automation server functionality

 Related Topics


Overview: Unavailable interactive features
Unavailable interactive features

Paradox Runtime does not support the following interactive features:

•	Table create and restructure

•	Interactive tools to design forms and reports (ObjectPAL can open design windows, but they appear empty)

•	Table windows to view and edit tables

•	Experts

•	Corel PerfectExpert

•	Tools, Utilities and Tools, Table Repair

•	Preference settings that customize the designer windows

•	Edit, Developer Preferences settings that customize the ObjectPAL Debugger and Explorer windows

•	Interactive QBE and SQL queries. Query files and queries developed using ObjectPAL will execute under ObjectPAL control. SQL access and pass-through SQL are still available using ObjectPAL

•	Unavailable ObjectPAL features including commands to edit and debug ObjectPAL code

Menu items and toolbar buttons that normally let users access these features do not appear in Paradox Runtime. Developers can still perform these operations using ObjectPAL, but you cannot use ObjectPAL to restore user access to the features.

 Related Topics


Overview: Unavailable ObjectPAL features
Unavailable ObjectPAL features

Paradox Runtime does not support the following ObjectPAL features:

•	Constants that normally provide interactive access to a feature unavailable in Paradox Runtime cause an error when used.

•	Some System type procedures are unsupported.

•	Some DataTransfer type procedures are unsupported.

•	TableView type methods and procedures are unsupported.

Note

•	In addition, Paradox Runtime users cannot create, edit, or debug ObjectPAL code. Tracing is available in Paradox Runtime.

 Related Topics


Unavailable ObjectPAL constants

Constants such as DataTableView that normally provide interactive access to a feature unavailable in Paradox Runtime cause an error when used. For example, DataDesign is still a valid constant, but action(DataDesign) fails in Paradox Runtime.

 Related Topics


Unavailable System type procedures

Paradox Runtime does not support the following System type procedures. Executing one of these procedures causes an error:

•	debug

•	dlgAdd

•	dlgCopy

•	dlgCreate

•	dlgDelete

•	dlgEmpty

•	dlgNetDrivers

•	dlgNetLocks

•	dlgNetRefresh

•	dlgNetRetry

•	dlgNetSetLocks

•	dlgNetSystem

•	dlgNetUserName

•	dlgNetWho

•	dlgRename

•	dlgRestructure

•	dlgSort

•	dlgSubtract

•	dlgTableInfo

Note

•	debug is ignored; it does not cause an error.

•	The method tracerWrite is limited in Paradox Runtime; it works only when used after an instance of tracerOn.

 Related Topics


Unavailable DataTransfer type procedures

Paradox Runtime does not support the following DataTransfer type procedures. Executing one of these procedures causes an error:

•	dlgExport

•	dlgImport

•	dlgImportASCIIFix

•	dlgImportASCIIVar

•	dlgImportSpreadSheet

•	dlgImportTable

 Related Topics


Unavailable TableView type methods and procedures

Paradox Runtime does not support the following TableView type methods and procedures. Executing one of these methods or procedures causes an error:

•	action

•	bringToTop

•	close

•	getPosition

•	getTitle

•	hide

•	isMaximized

•	isMinimized

•	isVisible

•	maximize

•	minimize

•	moveToRecord

•	open

•	setPosition

•	setTitle

•	show

•	wait

•	windowHandle

 Related Topics


Overview: OLE 2.0 and OLE automation limitations
OLE 2.0 and OLE automation limitations

Paradox Runtime provides OLE 2.0 container capabilities but does not provide any OLE 2.0 server capabilities. This means that your Paradox Runtime application can call other OLE 2.0 enabled applications; however, other OLE 2.0 container applications cannot call Runtime.

Paradox Runtime also provides OLE automation controller capabilities through the ObjectPAL OleAuto type. However, it does not provide any OLE automation server capabilities. This means that your Paradox Runtime application can call and manipulate other OLE automation-enabled applications; however, it cannot be called and manipulated by another application.

For more information on the OleAuto type, see the Paradox ObjectPAL Reference topic OleAuto type.

 Related Topics