home *** CD-ROM | disk | FTP | other *** search
- WELCOME TO PARADOX 5.0 FOR WINDOWS
- ----------------------------------
-
- Thank you for purchasing Paradox 5.0 for Windows.
- This file contains important information that
- supplements and supersedes information in the online
- and print documentation.
-
- If you encounter any problems installing,
- configuring, or working with Paradox, refer to this
- file for information.
-
- TABLE OF CONTENTS
- -----------------
-
- 1. Installation
- - Settings
- - Coaches System Requirements
- 2. If You Need Technical Support
- 3. Compatibility Issues: Moving Applications to 5.0
- 4. Tips and Troubleshooting
- - Workgroup Desktop
- - Table Repair Utility (TUTILITY)
- - SQL
- - International Issues
- - Import/Export
- - General
- 5. Documentation Corrections
-
-
- 1. INSTALLATION
- ---------------
- - The Install program will not run correctly if your path
- statement meets any of the following conditions:
-
- - You have used SUBST to rename the drive your WINDOWS
- directory is on, and you give the path to your WINDOWS
- directory using the substituted drive letter.
- - You've mapped your WINDOWS directory to a network drive
- using MAP ROOT.
- - You have included a directory path that does not begin
- with a drive letter.
-
- - When running Workstation Install, note the following
- points to ensure that the workstation can find all the
- executables it needs:
-
- - The installation of Paradox to the network that
- precedes the Workstation Install is responsible for
- placing all required executable files on the network.
- Workstation install confirms that the Paradox and IDAPI
- directory paths you enter contain copies of Paradox and
- IDAPI, but does not update older versions in those
- directories.
-
- - If a workstation has a local copy of IDAPI, you can
- over-ride the Workstation Install default to point to
- that directory, and Workstation Install will update
- that copy of IDAPI if necessary.
-
- - Workstation Install offers to install the Workgroup
- Desktop locally, whether you installed it on net or
- not.
-
- - If the workstation also gets Windows off the net, you
- must copy certain OLE 2.0 files and other files to the
- net Windows directory. These files include those listed
- in the "Microsoft Windows OLE 2.0" section of Appendix
- A of the User's Guide, plus
- NWCALLS.DLL
- BWCC.DLL
- BOLE16.DLL
- MULTIHLP.DLL
-
- - If you install dBASE for Windows after Paradox for
- Windows, the associations for the .DB, .DBF, and .QBE
- extensions will be set in WIN.INI to open these files in
- dBASE for Windows. If you install Paradox last, they will
- be set to open the files in Paradox. You can edit your
- WIN.INI file to associate these files with either
- product.
-
- SETTINGS
- - The SHARE.EXE command (in either your AUTOEXEC.BAT
- file or your CONFIG.SYS file) should include these
- optional parameters:
-
- SHARE /F:4096 /L:400
-
- The /F parameter allocates file space for the DOS
- storage area used to record file-sharing
- information. The default value is 2048. The /L
- parameter sets the number of files that can be
- locked at one time. The default value is 20.
-
- - The following note applies to Windows 3.1, Windows
- for Workgroups 3.1 and Windows for Workgroups 3.11:
-
- - With Novell NetWare the number of file handles is 40 by
- default. Microsoft recommends that this value be raised
- to 60. In your NET.CFG or SHELL.CFG file you should
- modify or add the following line:
-
- FILE HANDLES = 60
-
- - It is recommended that you modify your CONFIG.SYS file
- with the following:
-
- FILES = 60
-
- 60 is the suggested minimum.
-
- - SHELL.CFG is used with NET3.COM, NET4.COM, and so on.
- NET.CFG is used with NETX.COM. If the appropriate .CFG
- file does not exist, it can be created in the root
- directory of the user's boot drive with any plain text
- editor or word processor used in non-document mode.
-
- - Paradox 5.0 uses a database engine called IDAPI
- (called ODAPI in previous releases of Paradox) to
- access dBASE, Paradox, and SQL tables. The IDAPI
- configuration is stored in IDAPI.CFG. Paradox
- merges your ODAPI settings with IDAPI.CFG.
-
- - In previous versions, the ODAPI directory needed to
- be added to the PATH. You do NOT need to add IDAPI
- to the PATH.
-
- - If you will be running Quattro Pro for Windows
- version 5.0 or earlier (which uses ODAPI)
- concurrently with Paradox, set LOCAL SHARE to TRUE
- in the IDAPI Configuration Utility's System Manager
- (System page). If you won't be running these
- products concurrently, and you are not running on a
- peer-peer network requiring local share to be on,
- don't run with local share; it will slow down
- performance.
-
- COACHES SYSTEM REQUIREMENTS
- - The minimum system requirements for launching and
- using the Paradox Coaches are:
- Video Resolution: VGA (640 x 480) or higher
- Display: Grayscale or at least 16 colors
- Mouse: Required
-
-
- 2. IF YOU NEED TECHNICAL SUPPORT
- --------------------------------
- - If you purchased Paradox 5.0 for Windows as a stand-
- alone product, refer to the "Borland Assist Support
- and Services Guide" included in your package for
- information about contacting Borland Technical
- Support.
-
- - If you purchased Paradox 5.0 for Windows as part of
- the PerfectOffice suite, you must get technical
- support from WordPerfect Technical Support at one
- of the following phone numbers:
-
- WP support classic support.....(800) 861-2725
- Priority credit card number....(800) 861-2722
- Priority 900 support...........(900) 555-5020
-
-
- 3. COMPATIBILITY ISSUES: MOVING APPLICATIONS TO 5.0
- ---------------------------------------------------
-
- CREATING TABLES IN AN OPEN METHOD
- - A Paradox 1.0 or 4.5 form that creates its own
- bound tables during the Open method will fail to
- run if the form includes calculated fields that
- refer to fields in the tables. The failure occurs
- as Paradox attempts to recompile the form, into the
- new Paradox version. The compile process requires
- knowledge of a table's structure, and the Open
- method can execute only after the compile process
- is complete. It is recommended that you create the
- tables interactively before opening the form. Once
- the form has been opened and saved in Paradox 5.0,
- the problem will not reoccur as long as the form is
- opened only in Paradox 5.0.
-
- DATATYPE PROPERTY ON A NUMBER FIELD
- - A Number field's Datatype property now returns a
- value of "NUMBER"; in versions 1.0 and 4.5 it
- returned "NUMERIC". The workaround is to change
- your source code to reflect the new returned value.
-
- FIELD OBJECT NAMES IN A TABLE FRAME OR MULTI-RECORD
- OBJECT
- - In some circumstances, you must now refer to a
- Field object in a table frame or multi-record
- object by including the table frame or multi-record
- object name. For instance, if a table frame is
- named CUSTOMER and the field it contains is called
- CUSTID, the code
-
- CUSTID.MOVETO()
-
- should be changed to
-
- CUSTOMER.CUSTID.MOVETO()
-
- This is necessary only when you are referring to an
- object in the table from another object in that
- same table, AND the object you think you are
- referring to is not on the current record.
-
- TCURSOR FUNCTIONALITY AFTER REMOVEPASSWORD()
- - If a table attached to a TCursor has a password,
- you must now keep the password in memory as long as
- the TCursor remains open. If you remove the
- password with the RemovePassword() method, certain
- TCursor operations, such as Locate, will fail. It
- is recommended that you move the RemovePassword()
- method to the same location as your TCursor.Close()
- method.
-
- SPEEDBAR METHODS CHANGED TO TOOLBAR METHODS
- - All ObjectPAL methods and constants that referred
- to SpeedBars now refer to Toolbars. However, to
- preserve existing functionality in delivered
- applications, the SpeedBar methods and constants
- remain valid in ObjectPAL, but are now
- undocumented.
-
- RECOMMEND RESAVING 4.5 FORMS
- - Forms created in previous versions of Paradox might
- load slowly in Paradox 5.0 for Windows. If you open
- and resave the form in Paradox 5.0, the problem
- will not reoccur.
-
- ERROR STACK
- - Error stack no longer clears on entry to built-in
- methods, so checking the error code or showing the
- error stack upon entering built-in code might not
- render an empty stack.
-
-
- 4. TIPS AND TROUBLESHOOTING
- ---------------------------
-
- WORKGROUP DESKTOP
- - Address Book
- - If you install program files on a network, increase
- your network file handles to at least 100. Novell
- networks use the FILEHANDLES setting in the SHELL.CFG
- file.
-
- - The default address book is installed with the Pdox
- ANSI Intl language driver. To create an address book
- with a language driver corresponding to the IDAPI.CFG
- setting, use MailBook (File | New) and mark the book as
- the Current Book.
-
- - When you type in the Alias field of the Address Book
- Manager dialog box, do not enter names that use
- parentheses.
-
- - To prevent users from making changes to a shared
- address book, use the Admin password. To prevent a
- shared address book from accidental deletion on an
- operating system level, mark all the files in the
- address book directory as read-only.
-
- - Transports
- - If you use the user password in WPO (WPO:Remote
- requires a password), start WPO before polling OBEX.
-
- - The MCI transport can compress attachments and
- publications based on a setting in the MCI account
- configuration dialog box in OBEX. When sending mail
- with attachments over MCI, make sure that compression
- is off (publications are automatically uncompressed
- upon receipt).
-
- - To set up an MHS account using Novell's VLM, add the
- following statement to your AUTOEXEC.BAT file:
-
- SET MAIL=<Drive letter of MHS directory>:
-
- - To use either the Lotus Notes or the cc:Mail transport,
- the executable directory must be on the DOS path. VIM
- support is included with Lotus Notes 3.0 and later, and
- cc:Mail version 2.0 and later. If you have older
- versions of these products, it is recommended that you
- upgrade.
-
-
- TABLE REPAIR UTILITY (TUTILITY)
- - Previous versions of Paradox included the DOS-based
- TUTILITY.EXE to rebuild damaged tables. A new Table
- Repair Utility (available from Tools|Utilities|Table
- Repair) is now integrated into Paradox 5.0 for Windows.
-
- If you have TUTILITY.EXE on your path or in your working
- or private directory, and you choose
- Tools|Utilities|Table Repair, Paradox displays the
- "Windows cannot load library" error message. To avoid
- this error, remove TUTILITY.EXE from your path, and move
- it out of your working or private directory. You can then
- choose Tools|Utilities|Table Repair to use the new Table
- Repair Utility.
-
- - When using the Table Repair Utility, the table to verify
- or rebuild cannot be locked by any user.
-
- - If your private directory name contains extended
- characters, you must change your private directory to one
- that does not contain extended characters before using
- the Table Repair Utility.
-
- - If the table you are repairing contains extended
- characters in the table name, you must rename it (and all
- of its associated files such as .VAL and .MB) using the
- DOS rename command. Give the files a name that does not
- contain extended characters.
-
-
- SQL
- - ODBC Connectivity
- - This release of Paradox for Windows has been certified
- with Microsoft's 2.0 ODBC Driver Manager. If you have a
- different version of the ODBC Driver Manager, back up
- your existing ODBC.DLL and ODBCINST.DLL files and copy
- the ODBC.NEW and ODBCINST.NEW files from your IDAPI
- directory into your existing ODBC directory (by default
- this is WINDOWS\SYSTEM), and rename them to ODBC.DLL
- and ODBCINST.DLL.
-
- - For information on how to create an ODBC driver
- connection and alias, search for "ODBC Driver
- Connection" in the IDAPI Configuration Utility online
- Help.
-
- - Tips For Using ODBC Socket
- - This version of the ODBC Socket was qualified using
- Q+E's ODBC pack version 1.2. Driver-specific problems
- were discovered using the latest Btrieve driver. If
- using Btrieve, it is recommended you use the version
- 1.1 driver.
-
- - This version of ODBC Socket is certified for use only
- with Binary (Byte-value) collation-based servers.
-
- - When using pass-through SQL, case-sensitive object
- names should be enclosed in the DBMS identifier quote
- character.
-
- - The driver description in the ODBC.INI must match the
- driver name exactly as found in ODBCINST.INI in order
- for the IDAPI Configuration Utility to add drivers to
- the IDAPI configuration file.
-
- - ODBC does not support owner qualified indexes. When
- opening a table with an index, do not specify an owner
- name as part of the index name parameter.
-
- - ODBC Socket Datatype Identifiers
- The ODBC Socket supports standard ODBC datatype
- identifiers. For a list of those identifiers, refer to
- your ODBC documentation. Each individual ODBC driver
- allows you to create a table with only some of those
- datatype identifiers. For a list of driver-supported ODBC
- datatype identifiers, refer to your specific ODBC driver
- documentation.
-
- - Intersolv/Q+E Issues: The Q+E Oracle driver does not allow
- copying an Oracle table to another Oracle table. This is
- a known problem and will be fixed in the next release of
- the Q+E ODBC driver pack.
-
- - Netware SQL: When specifying Netware SQL BLOB\Memo fields
- it is necessary to specify a size <= 32765. The default
- of 32767 that is assumed by the driver is incorrect due
- to field header information.
-
- - DB2/2 (Database Manager) does not support concatenation
- operators in queries.
-
- - Btrieve: In some situations the Btrieve Record Manager
- causes the error message "Record Manager Not Loaded" to
- appear. Following this error message, exit Windows and
- restart. Btrieve is unstable after this message appears.
-
- - When creating a query using local SQL, you must use
- quotation marks around all date, time, and timestamp
- values, as shown in the following example:
-
- SELECT "Customer.db"."Customer No" from "Customer.db"
- WHERE
- ("Customer.db"."First Contact" = "04/03/1990")
-
- - When querying fields that require quatation marks on local
- SQL tables, you must reference the table name with the
- field name. Otherwise, Paradox returns a "Capability not
- supported" error message. Field names that require
- quotation marks include keywords and names with blank
- spaces or special characters such as @, %, and /.
-
-
- INTERNATIONAL ISSUES
- - When configuring an OBEX LAN account, do not use extended
- characters in the directory names for the post office or
- mailbox path.
-
- - When using local SQL on a table that contains extended
- characters in the table name, you must use a table alias
- rather than the table name. For example,
-
- SELECT DISTINCT alias."Field name"
- FROM "TABLE▀.DB" alias
- ORDER BY "TABLE▀.DB"."Field name"
-
- - When using ObjectPAL to create a query that uses tildes,
- string variables are recommended. If the date, number or
- currency settings in IDAPI.CFG do not correspond to the
- default US settings, those variables must be converted to
- strings by the following steps:
-
- 1. Set the appropriate format to correspond to the
- IDAPI setting using the formatSet command.
- 2. Convert the variable to a string and use the
- result as the tilde variable.
-
- For example, if DATE was specified in IDAPI.CFG as
- DD/MM/YY, the following code works:
-
- var
- q query
- s string
- d date
- endVar
-
- formatSetDateDefault("DBDate")
- d = date("20/10/89")
- s = string(d)
- q = query
- customer.db | Date |
- | check ~s |
- endQuery
-
- q.executeqbe()
-
-
- IMPORT/EXPORT
- - When exporting to fixed length ASCII text, the length
- specified for a numeric field type must be less than or
- equal to 20. This applies to short, long integer, number,
- currency, and BCD fields in Paradox tables, and numeric
- and float fields in dBASE tables.
-
- - When importing fixed length ASCII text, the width
- specified for numeric data columns must be less than or
- equal to 20. If this is not possible, you can insert a
- temporary record that contains a non-numeric character in
- that data column in the ASCII file . The column then
- generates an Alpha field when imported. You can then
- restructure the table, changing the Alpha field to the
- appropriate numeric type.
-
- - When specifying a BCD field type for fixed-length ASCII
- import, use the format '#n' where n is the number of
- digits following the decimal.
-
- - When importing Quattro Pro spreadsheets, cells containing
- the @IF() function import as blank.
-
- - Importing Excel spreadsheets with custom date formats will
- create a field type of number instead of date. Removing
- the custom date formats in the spreadsheet before
- importing will cause Paradox to correctly import the data
- as a Date field.
-
- - Use negative year values to import BC dates. After
- importing, the date appears as an AD date. Change the
- date format of the field to show the BC era.
-
- Note: dBASE tables do not support BC dates. You
- can import BC dates only into a Paradox table.
-
- - When you import dates with years from 0001 to 0099,
- Paradox interprets them as 1900 to 1999 by default. Use
- the IDAPI Configuration Utility to change the IDAPI date
- parameters of FOURDIGITYEAR to TRUE and YEARBIASED to
- FALSE. Paradox then imports the dates as 0001 to 0099.
-
- - Paradox imports timestamp data with negative year values
- as alpha fields. Restructure the table to change the
- field from alpha to timestamp after importing.
-
- - When importing a fixed length ASCII text file, data
- imported to number, currency, short, long integer, date
- and timestamp fields might import as a blank value if the
- data within the text column is not right-aligned. This
- might also occur when importing to Logical fields if the
- data is not left-aligned within the column.
-
-
- GENERAL
- - When working in the ObjectPAL Editor, choosing
- Edit|Undo All Edits does not roll back changes if a
- compile or check syntax has been performed.
-
- - To define a picture for a field that will be bound
- and unbound to different tables during runtime, set
- the picture on the unbound field. If you set the
- picture on a bound field it will be lost when the
- field is unbound.
-
- - Spaces and punctuation characters are not allowed
- in table aliases (monikers). Defining such a table
- alias through ObjectPAL does not return an error,
- but calculated field expressions that refer to the
- table alias return the error "Expression is invalid
- in a calculated field."
-
- - Although it is possible to use ObjectPAL to hide a
- maximized window, it is recommended that you don't
- do this. Windows might not handle a hidden
- maximized window correctly.
-
- - When querying logical fields, the only values that
- evaluate to True are T, Y, True, or Yes. These can be
- either lowercase or uppercase. Any other value evaluates
- to False.
-
- QBE evaluates only the first character of any condition
- entered into a logical field.
-
- - Placing a bytes field in a report using the Mailing Label
- Expert results in an internal error when you run the
- report. If a bytes field is required in the report, you
- should add it in the Report Design window rather than
- using the Mailing Label Expert.
-
- - dBASE tables do not support BC dates, which are available
- in Paradox 5.0 for Windows.
-
- - It is recommended that you do not choose Generic
- Postscript as your default printer. This can cause
- problems, particularly when using the Report Expert.
-
- - In ObjectPAL, if setWorkingDir(), setPrivDir(),
- setDirLock(), or clearDirLock() are passed an invalid
- drive or non-existent alias, the Error dialog box appears
- prior to the onFail code in a Try/onFail block. If
- setWorkingDir() or setPrivDir() are passed a not-ready
- drive, they report true and do not trigger a Try/onFail
- even though they failed.
-
-
- 5. DOCUMENTATION CORRECTIONS
- ----------------------------
-
- USER'S GUIDE
- - The System Requirements table should note that you
- might encounter problems using Novell 7 Personal
- NetWare. An upgrade is available from Novell. It is
- recommended that you use the upgrade.
-
- - Page 84: The restrictions on field type and size
- for defining table lookup have been lessened. The
- sentence
-
- "The field that you're assigning the table lookup
- to must be the same field type and size as the
- first field of the lookup table."
-
- should be changed to
-
- "The field that you're assigning the table lookup
- to must have a field type compatible with the first
- field of the lookup table."
-
- - Page 133: The description of the time format
- "DBTime" should note that although milliseconds are
- supported by IDAPI, they cannot be displayed in
- Paradox.
-
- - Page 194: The description of the Check should note
- that a Check on a BLOB field does not eliminate
- duplicate records. A Check on a BLOB field behaves
- like a CheckPlus.
-
- - Page 536: The note at the top of the page instructs
- you to copy the first and last Paradox disk to the
- network and to run Workstation Install from that
- directory. You should instead copy all Paradox
- disks to the network to run Workstation Install.
-
- GUIDE TO ObjectPAL
- - Page 274: The changeValue description states: "It
- is not called when someone changes a value across a
- network or through a lookup with fill-all-
- corresponding." In fact, changeValue is not called
- as a result of any kind of lookup.
-
- WORKGROUP DESKTOP GUIDE
- - Page 23: ccMail transport does not support post office
- names as part of an address. For example, OBEX treats
- "Frank Borland at PostOffice" as an invalid address.
-
- - Page 29: The Set Password dialog box does not include the
- control for Reader Password.
-
- - Page 64: The default installation location of the
- template form WGTMPLT.FSL is incorrectly shown as
- C:\PDOXWIN\WORKGRP. WGTMPLT.FSL is installed by
- default to C:\PDOXWIN\EXAMPLES.
-
- ONLINE HELP
- - The examples in the help for local SQL supported
- syntax are incomplete. The complete examples are:
-
- Blank space in field name:
- SELECT Employes."Emp ID" from Employees
- SELECT "Employee.db"."Emp ID" from
- "Employees.db"
-
- Keyword as field name:
- SELECT Employees."Date" from Employees
- SELECT "Employees.db"."Date" from
- "Employees.db"
-
- ONLINE ObjectPAL REFERENCE
- - The following methods should be added to the list of
- methods that are new in Paradox 5.0:
- Form::dmResync()
- system:getLanguageDriver()
- system:getUserLevel()
- system::setUserLevel()
- system::enumRTLErrors()
-
- - The new method setLanguageDriver is available in the Query
- type. It takes the language driver name as its argument.
- Refer to Table::create to get a list of valid language
- drivers.
-
- EXAMPLE:
-
- var
- qry query
- endVar
-
- ;; set up the language driver for the qry to be intl850
- qry.setLanguageDriver("intl850")
- ;; or
- ;; reset the language driver of qry back to default
- ;; qry.setLanguageDriver("")
- qry.executeQBE ()
-
-
- - The following procedures were added to the System type.
-
- - appendASCIIFix
-
- Appends data to a table from an ASCII (text) file in
- which fields of each record are the same length. Works
- like importASCIIFix, except that data is appended to an
- existing table, and any data that doesn't fit into the
- existing table is automatically trimmed.
-
- Syntax:
- appendASCIIFix ( const fileName String,
- const tableName String,
- const specTableName String
- [ , const ANSI Logical ] ) Logical
-
- - appendASCIIVar
-
- Appends data from a delimited (variable field length)
- text file to a table. Works like importASCIIVar, except
- that data is appended to an existing table, and any
- data that doesn't fit into the existing table is
- automatically trimmed.
-
- Syntax:
- appendASCIIVar ( const fileName String,
- const tableName String
- [ , const separator String,
- const allFieldsDelimited Logical,
- const ANSI Logical ] ) Logical
-
- - The Help topic dlgNetLocks shows the structure of the
- LOCKS.DB table. Some field types are incorrect in this
- topic. The correct structure of LOCKS.DB as returned by
- the dlgNetLocks procedure is as follows:
-
- Type A25
- Username A15
- Net Session S
- Our Session S
- Record Number A33
-
- - In the topic FileBrowserFileTypes, the following two
- constants in listed in error. These two constants are not
- available for use:
- fbConfig
- fbPrintStyle
-
- - The variables in the example for setMenu (Report Type) are
- incorrect.
-
- Menu var. "foOrders.setMenu(muOrderForm)"
- should be
- "reOrders.setMenu(muOrderRpt)"
-
- Also
- "muOrderForm.addPopUp"
- should be
- "muOrderRpt.addPopUp"
-
- - The topic EventErrorCodes incorrectly states that
- CanNotArrive and CanNotDepart grant permission to arrive
- and depart. In fact, they deny permission to arrive and
- depart, respectively.
-
- - The text of the example for FileSystem::accessRights
- refers to a custom procedure named launchEditor. It
- should refer to Notepad.
-
- - In example 1 for Uses, the square bracket at the end of
- the fourth line of code should be deleted.
-
- - In the example for Report::setMenu, the last two lines of
- code should be:
-
- muOrderRpt.addPopUp("&File", puRptFile)
- reOrders.setMenu(muOrderRpt)
-
- - In the example for System::printerGetOptions, the constant
- LargeFmt should be prnLargeFmt.
-
- - In the example for System::printerSetOptions, the constant
- Lower should be prnLower, the constant Landscape should
- be prnLandscape, and the constant High should be prnHigh.
-
- - The PrintColor constants are prnColor and prnMonochrome.
-
- - In the example for setQueryRestartOptions, the line
-
- if getQueryRestartOptions <> QueryRestart then
-
- should be
-
- if getQueryRestartOptions() <> QueryRestart then
-
- - In the example for form::dmEnumLinkFields(), when this
- method is called on a data model with CUSTOMER.DB and
- ORDERS.DB linked by the field Customer No, a secondary
- index is generated on the detail table. When doing the
- enumeration, the index field returns the secondary index.
-
-