home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-08-25 | 51.6 KB | 1,035 lines |
- WELCOME TO PARADOX 3.5
- ----------------------
-
- This file contains important information that is not contained in the
- documentation for Paradox 3.5. All information in this file supersedes
- information in the Paradox 3.5 documentation.
-
-
- TABLE OF CONTENTS
- -----------------
-
-
- 1. Resolving Hardware and Software Compatibility Issues
- 2. Notes on Interactive Paradox
- 3. Notes on PAL
- 4. Starting and Running Paradox in Special Configurations
- 5. Notes on the Custom Configuration Program
- 6. Notes on the Personal Programmer
- 7. Files on the Disks
-
-
- 1. RESOLVING HARDWARE AND SOFTWARE COMPATIBILITY ISSUES
- -------------------------------------------------------
-
- Hardware/Software Compatibility:
- Paradox is designed to follow memory management standards where they
- exist, to make the best possible use of your computer, and to allow you
- maximum flexibility to tune the program the way you want. When Paradox
- loads, it tries to detect any EMS emulation, RAM disks, and caches you
- have, and configures itself to run optimally in that environment. Some-
- times you will want or need to modify the default configuration. You can
- override Paradox's installation defaults with the Custom Configuration
- Program (CCP) or with command-line options. See Chapter 14 of the
- "Paradox User's Guide" for details.
- Unfortunately, standards have been slow to evolve for memory
- management. Paradox conforms to the major standards that do exist: the
- VDISK standard for RAM disks, the VCPI standard for EMS emulation, and the
- XMS standard for extended memory. If you use software that conforms to
- some other standard, you may have to make adjustments to run Paradox.
- Please check the list that follows for known compatibility problems.
-
- Some specific compatibility problems are:
-
- - If you're running your machine in fast or "turbo" mode, it may be
- running faster than the hardware was designed to run. This may
- cause it to drop instructions occasionally at its fastest speed.
- While some of your software may run just fine in turbo mode,
- Paradox sometimes makes heavier demands on the hardware than
- other software packages. If you experience difficulty, try
- running Paradox in slower or "safe" mode. (This is not to say
- that all machines offering a choice of speeds are suspect; Paradox
- will not have trouble on any machine's highest speed as long as
- all the machine's components are designed to run at that speed.)
- Machines that may experience this problem include 6Mhz IBM ATs
- that have been sped up to 8Mhz or faster, the WYSEpc 286 in its
- 12.5Mhz mode, and the Rose Hill 286 at its faster speed.
-
- - The Tall Tree JRAM EMS card is not supported by Paradox.
-
- - A 286 machine with an old BIOS might not be able to run in
- protected mode.
-
- - A disk cache called VCache is known to be incompatible with
- Paradox. Do not run VCache with Paradox.
-
- - Some EMS emulators can run without allocating an EMS page frame.
- This lets you use their many extra features, particularly the
- ability to relocate drivers above 640K, even if you don't want to
- use EMS. QEMM's FRAME=NONE option has this effect, as does
- 386Max's NOFRAME option. If you use your EMS emulator this way,
- you must run Paradox in real mode (this is the mode it will run
- in by default). Attempting to force Paradox into protected mode
- in this situation might hang your machine.
-
- - If you use a version of PC LAN that includes a cache and you locate
- the cache in the network server's extended memory, you cannot run
- Paradox on the server - there isn't enough memory below 640K left
- for Paradox to run in real mode, and the PC LAN cache does not
- allow any other program to use extended memory.
-
- - The AST REX.SYS driver, which converts EEMS expanded memory back to
- extended memory, is not compatible with Paradox 3.5. To obtain
- extended memory with an EEMS board, don't let the REMM.SYS expanded
- memory driver use some or all of the memory on the board. (In some
- cases, you will have to set switches on the board to accomplish
- this.)
-
- - Under DOS 2.x, Paradox 3.5 runs only in real mode, not in protected
- mode.
-
- Testing Your CPU and EMS:
- If you experience intermittent failures, they may be due to a
- processor that's running too fast or memory that is defective or runs too
- slowly. Paradox 3.5 includes two small programs to test for problems of
- this sort. Although they cannot detect all machine problems, they do test
- machine components that Paradox 3.5 stresses; as a result, they
- often help pinpoint problem areas. The programs are CPUTEST.EXE and
- EMSTEST.COM. Both are installed in your Paradox 3.5 program directory
- automatically. If you have any reason to suspect that your hardware may
- not be able to keep up with Paradox, you should run both programs (run only
- CPUTEST if you don't have expanded memory). Even if your computer is
- running flawlessly, feel free to try them out. CPUTEST runs just a few
- seconds, and EMSTEST just a few minutes.
- To run CPUTEST, just move to your Paradox directory (usually \PDOX35)
- and type
- CPUTEST
- You should see the message "This CPU Tests OK." A message like "2
- instructions skipped" probably indicates that your computer's processor is
- running too fast.
- To run EMSTEST, move to your Paradox directory, type
- EMSTEST
- and press keys as instructed. The test will verify that your Expanded
- Memory Specification (EMS) hardware and software are working correctly.
- You should see descriptions of a number of tests, each followed by the
- status "OK." Any other status message indicates a probable EMS failure.
-
-
- 2. NOTES ON INTERACTIVE PARADOX
- -------------------------------
-
- Incremental Menu Selection:
- In Paradox 3.0, you can type a letter when choosing from a menu to
- narrow your selection down to choices starting with that letter, then make
- your final selection using the arrow keys. In Paradox 3.5, you can type a
- second letter to narrow your choices down further, then a third letter, and
- so on. As you type each letter, it will be colored differently in the
- current menu item. Whenever there is only one choice that matches the
- letters typed, it will be selected immediately, just as is done in Paradox
- 3.0 when the first letter of a choice is unique. You can still use the
- arrow keys to select, as before; as soon as you do, the incremental
- selection in process is abandoned, so you must start from the beginning of
- the desired choice to select it using incremental type in.
- Incremental menu selection works wherever you select from a menu: in
- Paradox's own menus; in application menus created by SHOWMENU; in lists of
- tables, scripts, forms, and other objects; and in lists produced by
- SHOWARRAY, SHOWTABLES, and SHOWFILES. In interactive use, the new
- incremental selection capability is completely compatible with existing
- menu interaction. Scripts that use InstantRecord, SHOWMENU, or braced menu
- selections will also be compatible with Paradox 3.5. Scripts that use
- KEYPRESS and TYPE IN to select from menus might behave differently:
- keystrokes that did not cause a menu item to be selected now can, depending
- on the contents of the menu list.
-
- Tools|Copy|JustFamily:
- Previous versions of Tools|Copy|JustFamily could copy corrupt or
- out-of-date family members from the source to the target table. Although
- this was clearly the wrong action for corrupt family members, it did allow
- you to "re-attach" a correct but out-of-date object to its table.
- Copy|JustFamily now checks that each object is a valid member of the source
- table's family before copying it. As a result, you will no longer be able
- to use it to attach out-of-date family members to their tables.
-
- Tools|Info|Lock:
- The LIST table that Tools|Info|Lock produces now gives more infor-
- mation when there is a form-lock on a multi-table form. When a table is
- form-locked, Paradox displays "Form Lock" in the lock type field, followed
- by the type of lock that pre-Paradox 3.0 users will see. (These earlier
- versions of Paradox cannot use a form-locked table because they don't
- support multi-table forms.) For example, if you are coediting a multi-
- table form, the type field will show "Form Lock-WL", where WL stands for
- Write Lock. The other abbreviations are PFL (Prevent Full Lock) and PWL
- (Prevent Write Lock). Paradox no longer adds a second record saying "Write
- Lock" in the LIST table.
-
- Undo:
- In a multi-table form, Undo works differently than in Paradox 3.0 in
- one minor case: After a form toggle, it now takes two Undo operations to
- back up as far as one Undo did previously.
-
- Number Rounding Issues:
- Paradox 3.5 uses the Turbo C math library, which provides greater
- precision than the one used in Paradox 3.0. This will cause some numeric
- and dollar values that were entered using an earlier version of Paradox to
- be rounded differently in Paradox 3.5. Data entered in Paradox 3.5 will
- not exhibit this problem. (Because of the way Paradox represents numbers,
- there will always be occasional round-off errors when manipulating numbers
- with many decimal digits of precision. Unfortunately, other methods of
- representing numbers also have disadvantages.)
- Because data entered in Paradox 3.5 works fine, the solution is to
- export the existing Paradox file to an ASCII file, then import the data
- back into Paradox 3.5. You can put your data back into the same table it
- started in, leaving the table's family unaltered. The steps to follow are:
-
- 1. Make a backup of the table to be processed (if you don't have one)
- in case any problems arise.
-
- 2. Export the table to ASCII format. If your table is named CUSTOMER
- and you want to call the temporary ASCII file TEMP_30, use:
- Tools|ExportImport|Export|Ascii|Delimited
- and enter CUSTOMER as the table name and TEMP_30 as the exported
- file's name.
-
- 3. Empty the CUSTOMER table, using Tools|More|Empty.
-
- 4. Import your data back into CUSTOMER, using the AppendDelimited
- command (not the Delimited command):
- Tools|ExportImport|Import|Ascii|AppendDelimited
- Type in TEMP_30 when you are prompted for a file name and CUSTOMER
- when you are prompted for a table name.
-
- Norwegian/Danish Sort Order:
- Minor corrections have been made to the NORDAN.SOR sort file. The
- table in Chapter 14 of the "Paradox User's Guide" labeled "Swedish/Finnish
- and Norwegian/Danish Sort Order" is accurate only for the SWEDFIN.SOR sort
- order. The order of alphabetic characters according to NORDAN.SOR is shown
- below. (Note that ASCII characters 155 and 157 appear as slashed "O"s if
- you have the Norwegian/Danish video ROM.)
-
- ASCII ASCII ASCII ASCII
- Char Code Char Code Char Code Char Code
- ----------- ----------- ----------- -----------
- a 97 i 105 Q 81 ä 132
- á 160 ï 139 r 114 Æ 146
- à 133 í 161 R 82 Ä 142
- â 131 ì 141 s 115 ¢ 155
- A 65 î 140 S 83 ö 148
- b 98 I 73 t 116 ¥ 157
- B 66 j 106 T 84 Ö 153
- c 99 J 74 u 117 å 134
- ç 135 k 107 ú 163 Å 143
- C 67 K 75 ù 151 α 224
- Ç 128 l 108 û 150 ß 225
- d 100 L 76 U 85 Γ 226
- D 68 m 109 v 118 π 227
- e 101 M 77 V 86 Σ 228
- ë 137 n 110 w 119 σ 229
- é 130 ñ 164 W 87 µ 230
- è 138 N 78 x 120 τ 231
- ê 136 Ñ 165 X 88 Φ 232
- E 69 o 111 y 121 Θ 233
- É 144 ó 162 ü 129 Ω 234
- f 102 ò 149 ÿ 152 δ 235
- F 70 ô 147 Y 89 ∞ 236
- g 103 O 79 Ü 154 φ 237
- G 71 p 112 z 122 ε 238
- h 104 P 80 Z 90 ∩ 239
- H 72 q 113 æ 145 ≡ 240
-
- Compatibility with Paradox 3.0:
- Paradox 3.5 is compatible with previous versions of Paradox. However,
- if you will be running existing applications under Paradox 3.5 or want your
- Paradox 3.5 development to coexist with previous versions, there are a few
- points you should consider:
-
- - Although tables from previous versions of Paradox are completely
- compatible with Paradox 3.5, tables created in Paradox 3.5 exhibit
- better performance in almost all cases. For best performance in
- Paradox 3.5, you should restructure existing tables in Paradox 3.5.
- To do this, choose Modify|Restructure, then press Do-It (without
- making any changes to the table's structure). However, if some
- users will continue to use these tables with earlier versions of
- Paradox, be aware that these restructured tables will require more
- memory when placed on the workspace - up to 2K more for each table
- and for each index on the table. (Paradox 3.5 doesn't use more
- memory per image on the workspace for tables built with the
- new structure; only earlier versions of Paradox do.)
-
- - As explained in the "Upgrade Guide," Paradox 3.5 uses a new format
- for procedure library files. Paradox 3.5 can read existing
- libraries, but previous versions cannot read Paradox 3.5 libraries.
- In addition, although Paradox 3.5 can read procedures from a
- Paradox 3.0 library, you cannot write such procedures directly from
- memory into a Paradox 3.5 library. You must play a script
- containing the procedures in source code form, then use WRITELIB
- to write them to the new library.
-
- - You might notice that previous Paradox versions can often use forms
- and reports that contain functions and variables in calculated
- fields. However, there are some functions (DOW, for example) that
- Paradox versions before 3.5 will not accept in calculated fields.
- In addition, these Paradox versions cannot modify Paradox 3.5 forms
- and reports that use functions or variables. If you attempt either
- operation, you will see a message like "Invalid calculation..." or
- "Invalid fields removed from form...". Select Cancel from the menu
- to back out of Forms|Change or Report|Change mode, then use Paradox
- 3.5 to modify the form or report; otherwise, you will lose all the
- calculated expressions that the earlier version of Paradox doesn't
- understand.
-
- - A few messages have been changed. Although most of the changes
- just correct spelling and punctuation errors, applications that
- test for the exact text of a message will not recognize the new
- messages. Applications should avoid testing messages whenever
- possible.
-
- - Minor changes have been made to the Tools|ExportImport menus to
- include Quattro PRO import and export. There are other menu
- changes, but they do not introduce compatibility issues; for
- example, Paradox 3.5 accepts "QuerySpeedup" and "QuerySpeed"
- interchangeably.
-
- Printing Graphs:
- Paradox (by default) does not do a page-eject after printing a graph.
- This allows you to place more than one graph on a page. On a PostScript
- printer or other laser printer, it may seem that your graph was not sent to
- the printer properly, since there is often no sign of activity until a page
- is ejected. To override the default temporarily, enter the Graph subsystem
- (using Image|Graph|Modify), then choose Overall|PrinterLayout and set
- "Break Page" to "Y". To override it permanently, play Custom and go
- through the same steps.
-
- 3. NOTES ON PAL
- ---------------
-
- RUN ([Ctrl][O]) and RUN BIG ([Alt][O]):
- Paradox 3.5 uses Borland's VROOMM memory management, which loads
- modules of program code into memory dynamically as they are needed. As a
- result, the amount of memory available when you execute PAL's RUN or RUN
- BIG command (or their keyboard equivalents, [Ctrl][O] and [Alt][O]) will
- vary more in the course of a session than it did in Paradox 3.0. Exactly
- how much memory is available depends on many factors, but neither RUN nor
- RUN BIG will always give you as much memory as Paradox 3.0 did.
- In both real and protected mode, RUN always gives 140K or more; if it
- can't free up that much, Paradox automatically converts the RUN to a RUN
- BIG. In real mode, RUN BIG can usually free up all but about 25K of the
- memory available when you started Paradox. In protected mode, it can
- usually free up all but about 75K of the memory available at Paradox
- startup.
- For most users, RUN and RUN BIG will work just as before. If you are
- using RUN BIG to run a memory-intensive program from within Paradox, check
- that the operation will still work in your configuration.
-
- PRINT FILE:
- PAL's PRINT FILE command is much faster now because Paradox keeps the
- file open as long as possible and buffers the output. If you previously
- optimized PRINT FILE by concatenating output into long strings, you'll find
- that this is no longer necessary. Paradox knows to write the buffer and
- close the file almost any time it could be necessary: when you exit
- Paradox, execute a RUN command, print to another file, use the FILESIZE
- function to test the size of the file just written, play the script just
- written, etc. If you want to close the file before Paradox does so
- automatically - if you use it as a semaphore to other network users, for
- example - use something like
-
- DUMMY = ISFILE("filename.txt")
-
- (where "filename.txt" is the name of your file) to force it to be closed.
-
- RECORDSTATUS Function:
- In several cases, RECORDSTATUS may return a result that is not what
- you expect. It's helpful to be aware of these cases and know why
- RECORDSTATUS reports what it does:
-
- - Using RESYNCKEY to show Many-one and Many-many details matching the
- current record has the effect of posting your changes (though the
- record remains locked.) As a result, RECORDSTATUS ("Modified")
- returns False.
-
- - RECORDSTATUS ("KeyViol") returns False if you've inserted a
- duplicate record but haven't yet tried to post it, since Paradox
- doesn't detect the key violation until then.
-
- - RECORDSTATUS ("KeyViol") also returns false if you enter a
- duplicate key in a multi-table form in CoEdit and try to post it.
- This looks like a key violation, but really isn't from Paradox's
- point of view: you don't have the existing record that the new
- one conflicts with locked, you can't use [Alt][K] to toggle
- between the two, and [Alt][L] won't force posting of the new record.
-
- Error Procedures and Error Codes:
- The complete list of error codes and their causes is given below. If
- you have a Paradox 3.5 manual set, you'll also find this table in your "PAL
- User's Guide." There are two other small points about error procedures and
- error codes to note:
-
- - If you attempt to modify a table that is write-protected, Paradox
- sets errorcode to 22, not to 35 as in previous versions.
-
- - When an error procedure is called because a low memory warning is
- issued, Paradox always retries the current statement on return from
- the error procedure, even if the return value from the procedure
- specifies that it should be skipped. This makes it easier to run
- existing applications under Paradox 3.5.
-
- PARADOX ERROR CODES
-
- Code Meaning
- ---- -------------------------------------
- 0 No error (for example, record was not
- changed or key was found)
-
- File or directory errors
- 1 Drive not ready
- 2 Directory not found
- 3* Table in use by another user
- 4* Full lock placed on table by another user
- 5 File not found
- 6 File corrupted
- 7 Index file corrupted
- 8 Object version mismatch
- 9* Record locked by another user
- 10 Directory in use by another user
- 11* Directory is private directory of another user
- 12 No access to directory at operating system level
- 13 Index inconsistent with sort order
- 14 Multiuser access denied
- 15 PARADOX.NET file conflict
-
- General script errors
- 20 Invalid context for operation
- 21 Insufficient password rights
- 22 Table is write-protected
- 23 Invalid field value
- 24 Obsolete procedure library
- 25 Insufficient image rights
- 26** Invalid PAL context
- 27 Operation not completed
- 28 Too many nested closed procedures
- 29 Table is remote (on an SQL server)
-
- Argument errors
- 30 Data type mismatch
- 31 Argument out of range
- 32 Wrong number of arguments
- 33 Invalid argument
- 34 Variable or procedure not assigned
- 35 Invalid menu command
-
- Resource errors
- 40** Not enough memory to complete operation
- 41 Not enough disk space to complete operation
- 42** Not enough stack space to complete operation
- 43 Printer not ready
- 44 Low memory warning
-
- Record-oriented operation errors
- 50** Record was deleted by another user
- 51** Record was changed by another user
- 52** Record was inserted by another user
- 53** Record with that key already exists
- 54** Record or table was not locked
- 55** Record is already locked by you
- 56** Lookup key not found
-
- Multi-table operation errors
- 60 Referential integrity check
- 61 Invalid multi-table form
- 62** Form locked
- 63 Link locked
-
- * For this code, ERRORUSER() returns the name of the user who locked
- the resource
- ** This code does not invoke a designated error procedure
-
-
- 4. STARTING AND RUNNING PARADOX IN SPECIAL CONFIGURATIONS
- ---------------------------------------------------------
-
- Running Paradox 3.5 under Windows 3.0:
- You can run Paradox 3.5 and the Paradox Personal Programmer (PProg)
- under Windows 3.0. If you plan to do this, you need to do four things, in
- this order:
-
- 1. Copy the .PIF and .GRP files from the \WINDOWS subdirectory on your
- Paradox Installation\Sample Tables disk into your Windows directory
- (usually C:\WINDOWS). The PARADOX.PIF and PPROG.PIF files allow
- Paradox and the Personal Programmer to run optimally under Windows.
- If you choose to modify them or define your own .PIF files, you
- should always include the -win command-line option. PARADOX.GRP
- gives Windows a program manager icon for Paradox 3.5 that contains
- icons for Paradox 3.5 and the Paradox Personal Programmer.
-
- 2. Make sure your Paradox system directory is in your DOS PATH
- statement, so Windows can find the files. For information on the
- PATH statement, see your DOS manual.
-
- 3. Run the DOS SHARE program. Type SHARE at any DOS prompt to do
- this, or add a SHARE statement to your AUTOEXEC.BAT file. SHARE
- must be resident to run Paradox 3.5 under Windows.
-
- 4. Set up a program group in Windows to put a Paradox icon on the
- Windows Program Manager screen. To create this program group,
-
- a. Choose File from the Windows Program Manager.
- b. Choose New, then choose Program Group.
- c. Fill in a description of the group to appear under the icon (for
- example, PARADOX 3.5).
- d. Fill in the full path name of the group file (for example,
- C:\WINDOWS\PARADOX.GRP).
- e. Click OK. Two new icons appear in your Paradox 3.5 window: one
- for Paradox 3.5 and one for the Paradox Personal Programmer.
-
- Windows is now set up to run either Paradox 3.5 or the Personal Programmer
- whenever you want. Double-click on the appropriate icon to invoke the
- program.
- Paradox 3.5 runs in a bordered window when Windows is running in 386
- Enhanced Mode. (You enter this mode by starting Windows with the command
- WIN /3). If you are running Windows on an 8088 or 80286 computer, or on a
- 386 in real or standard mode, Paradox and the Personal Programmer run in
- full-screen mode and appear as they do when run outside Windows. In this
- full-screen mode, press [ALT][ESC] to switch from Paradox to another
- Windows application. The Paradox (or PProg) icon appears at the lower
- left corner of the Program Manager window; double-click on it to return
- to Paradox (or PProg).
- After you press a mouse button in a window, its title bar says Select.
- This means that Windows has taken over control of the keyboard and mouse so
- you can cut or paste, operations Paradox does not support. Press [ESC]
- to return control to Paradox.
- To close files properly and prevent data loss, always exit Paradox
- using the keyboard (press [F10] and choose Exit|Yes), not the mouse. If you
- try to exit Windows with Paradox still running, a warning appears and you
- are given a chance to exit Paradox properly; Windows will not let you exit
- without closing applications.
-
- Running Paradox 3.5 under DESQview:
- You can run Paradox 3.5 under DESQview in either real or protected mode
- on a 286 or higher machine. Here's how to configure DESQview to run
- Paradox 3.5:
-
- 1. Install Paradox 3.5 according to the installation instructions in
- the "Introduction to Paradox" manual or the "Upgrade Guide."
-
- 2. From the DESQview Main menu, choose Open Window.
-
- 3. If you are upgrading from Paradox 3.0 to 3.5, select Paradox3 from
- the file list, then choose Change a Program. If you are installing
- Paradox for the first time, you'll first have to use Add a Program
- to add the program name to this list.
-
- 4. Press [F1] to see the Standard Options screen. Type the program
- name, any batch file name you use to invoke it, the full path
- name (including file name), and any command-line parameters you
- use. Set Memory Size (in K) to 440. Set the Standard Options
- switches as follows:
- Writes Text To Screen [N]*
- Displays Graphics Info [Y]
- Virtualize Text/Graphics [N]**
- Uses Serial Ports [N]
- Requires Floppy [N]
-
- 5. Press [F1] again for the Advanced Options screen. Set the following
- parameters:
- System memory 0
- Max Program Size (in K) 640
- Script Buffer Size 1000
- Max Expanded Memory 1024***
-
- Set the switches as follows:
- Close On Exit [ ](leave blank)
- Allow Close Window Command [N]
- Uses Math Coprocessor [Y]
- Share CPU When Foreground [Y]
- Can Be Swapped Out [ ](leave blank)
- Use Its Own Colors [Y]
- Run In Background [ ](leave blank)
- Keyboard Conflict [0]
- Share EGA When Foreground [Y]
- Protection Level [0]
-
- * On a 286 machine, set this switch to Yes.
- ** On a 286 machine or on a 386 or higher machine running in
- protected mode, set this switch to Yes.
- *** Max Expanded Memory can be set higher.
-
- 6. Exit Change a Program or Add a Program and start Paradox in the
- usual way under DESQview.
-
- Use the same procedure to configure DESQview to run the Paradox Personal
- Programmer.
- If you plan to run multiple Paradox sessions under DESQview, you
- should make the Paradox program files read-only. You'll also need one
- Paradox serial number for each session.
-
- Multiple Paradox Sessions:
- When you run Paradox on a network, the network operating system ensures
- that you can share program and data files with other users whenever sharing
- is appropriate. On a standalone machine, DOS's SHARE command and Paradox's
- -share command-line option have the same effect. Without them, DOS assumes
- that no file sharing is required. Applications that might share files on a
- standalone computer include
-
- - Windows
- - DESQview
- - Add-in programs for Paradox, such as Kallista's KMemo
- - In-house applications that use the RUN command to execute Paradox
- Engine programs. These programs in turn might perform special
- processing on the applications' tables.
-
- If you will be sharing files on a standalone machine, you should use
- the -share command-line option. The -share option now requires that DOS
- SHARE be loaded (and this in turn means that you will need to use DOS 3.0 or
- higher). Using -share causes Paradox to write a PARADOX.NET file in the
- root directory on your hard disk and to put an entry in it for each session
- or program that runs Paradox. This guarantees that file sharing works
- correctly.
-
- Software EMS Drivers:
- This note is an addition to the notes about XMS-compliant EMS drivers
- in the "Upgrade Guide" and the "Paradox User's Guide."
- If your system has extended memory that an XMS-compliant EMS driver is
- converting to expanded memory, Paradox handles this memory at startup in
- the following ways:
- In real mode with neither the -extk or -emk command-line options set,
- Paradox asks the driver for all the available extended memory, then uses
- that memory as a swap device. To keep Paradox from using all the expanded
- memory in this way, use the -extk command-line option. For example, if you
- normally have 4MB of extended memory being converted to expanded memory,
- and you want Paradox to take only 1MB of that memory, type
-
- paradox -real -extk 1024
-
- (You usually need to include the -real option, since Paradox attempts to
- run in protected mode by default.) The rest of the memory remains as
- expanded memory, which Paradox also uses as a swap device. To save some of
- that expanded memory for another (concurrent) program, you must also set an
- -emk option. For instance, if you have 4MB, and you want to have Paradox
- use 1MB as extended, 1MB as expanded, and leave 2MB of expanded for another
- program, type
-
- paradox -extk 1024 -emk 1024
-
- When you start Paradox in protected mode, the options are evaluated
- differently. In protected mode, Paradox takes all the XMS-compliant EMS
- memory as extended memory before it evaluates the -ext or -emk options. If
- the EMS driver is set up in your CONFIG.SYS file so that only some of the
- extended memory is available to the EMS driver, Paradox uses only that
- memory configured as expanded, but changes it to extended. Paradox does
- not use the non-EMS configured extended memory at all. For instance, if you
- have 1MB left as extended and 3MB configured as expanded, Paradox takes 3MB
- and uses it as extended.
-
- Novell NetWare 386:
- NetWare 386 allows you to define a virtual root. This means that it
- allows you to map a drive letter to a subdirectory in such a way that the
- user of that mapping can only access the mapped subdirectory and its child
- directories. (Ordinarily, NetWare mappings are just shortcuts; you can
- still use the DOS CHDIR command to access any directory on the volume.)
- Virtual roots are created with the 'MAP ROOT' command.
- Since virtual roots allow different users to access different
- subdirectories of a volume with the same network drive path, Paradox might
- not enforce locking correctly if two users specify paths to the PARADOX.NET
- file which do not indicate the same subdirectory on the server. For
- example, if one user maps S: using the command
-
- MAP ROOT S: server\sys:pdoxdata
-
- and another user maps S: using
-
- MAP S: server\sys:pdoxdata
-
- then the \PDOXDATA directory will be S:\ for the first user and
- S:\pdoxdata for the second user. Similarly, if one user maps S: using
-
- MAP ROOT S: server\sys:pdoxdata
-
- and another maps S: using
-
- MAP ROOT S: server\sys:pdox
-
- then S:\ for the first user will be different than S:\ for the second user.
- Both of these situations can lead to severe data corruption.
- Be sure to observe the warning in the Network Administrator's Guide
- that "All Paradox users must have the directory containing the PARADOX.NET
- file mapped to the same logical drive and directory." Suppose your
- PARADOX.NET file is in server\sys:pdoxdata and you use your system login
- script to map S: to server\sys:pdoxdata as a virtual root. Then you should
- specify when you install Paradox that PARADOX.NET is in S:\. Once
- you've done this, it is essential that no one override the mapping of S:.
- In this way, all active users share the PARADOX.NET file, each recognizes
- the others as active users, and all respect the others' lock files.
-
-
- 5. NOTES ON THE CUSTOM CONFIGURATION PROGRAM
- --------------------------------------------
-
- Configuration Issues:
- When discussing Custom's new handling of color settings, the "Upgrade
- Guide" says that when you're in Video|Colors, you will recognize your
- existing color settings by their names. Ordinarily, this won't be true;
- when you run Custom with Paradox 3.5, you will start with the default
- configuration file. Even users of earlier Paradox versions who have
- chosen to override only a few of Paradox's defaults are better off
- redefining their configurations from scratch. But if your existing
- configuration file is highly customized - if you've modified the default
- report or graph specification, or selected several graph printers, or added
- report setup strings or color settings - you may want to retain your
- existing configuration. To do so, copy your PARADOX3.CFG file (or another
- .CFG file from a previous version of Paradox) to PARADOX.CFG and move it to
- your Paradox 3.5 directory. (You may want to save a copy of the current
- PARADOX.CFG first.) You can now use Paradox 3.5's Custom program to
- further customize your configuration.
-
- B&W Monitors:
- On monochrome and B&W monitors, Paradox uses only the built-in color
- setting. (A B&W monitor is a monochrome monitor attached to a color video
- card.) If you want to modify the color setting on a B&W monitor, you must
- set your monitor type to "Color" (using the Video|Monitor command);
- otherwise, Paradox ignores the changes you make to the color setting. The
- effect, of course, will be to change the shades of gray or orange that your
- monitor uses to show different elements of the Paradox display.
-
- Graph Printers:
- The list of graph printers you can choose from in Custom's
- Graphs|Printers command has been updated and expanded, and a few older
- printers have been removed from the list. If you want to use a printer
- that was available in Paradox 3.0 but is not available in Paradox 3.5,
- here's how:
-
- - If you haven't already done so, run Paradox 3.0 and Paradox 3.0's
- version of Custom to select the printer.
-
- - Rename your PARADOX3.CFG file to PARADOX.CFG and move it to your
- Paradox 3.5 directory. (You may want to save a copy of the current
- PARADOX.CFG first.)
-
- - Run Paradox 3.5 as usual. The printer defined in Paradox 3.0 will
- be available.
-
- Directories and Paths:
- Previous versions of Paradox installed Custom in the program directory
- by default, but did not require that it be there. With Paradox 3.5, you
- must store Custom in the system directory or in a directory on your path in
- order to use the Tune|ProtectedMode|MachineInfo and Configure options.
- This ensures that Paradox can find the machine configuration information
- that Custom writes out. If the Paradox system directory on your
- network is normally read-only, you will need to log on as the network
- administrator to write to it. For more information, see the "Upgrade
- Guide."
-
- The MachineInfo Report:
- Custom's MachineInfo report displays basic information about your
- machine configuration. Because computers vary widely, the report is
- sometimes incomplete or slightly inaccurate. For example, not every BIOS
- contains an ID at the "standard" address, but MachineInfo can't determine
- what's a valid ID string and what isn't. Don't be alarmed if you see random
- characters, or even a message like "fatal error" in the "BIOS ID String"
- field. It's just extraneous text that MachineInfo mistook for the BIOS ID.
-
-
- 6. NOTES ON THE PERSONAL PROGRAMMER
- -----------------------------------
-
- There have been some minor changes to the Personal Programmer. Other
- than the changes noted below, all parts of the program operate just as
- they did in Paradox 3.0.
-
- 1. Paradox 3.5 uses a slightly modified way of reading
- and writing libraries. Although Paradox 3.5 will read the
- old libraries in exactly the same way as it did before,
- the Personal Programmer can not directly modify libraries
- in the old format. If you are modifying an application
- that was originally created in 3.0, you will see a new
- menu the first time you modify the application in 3.5. It
- will appear immediately after you enter the name of the
- application, and will offer you the option of updating
- your libraries to 3.5 format.
-
- If you choose Cancel, you will return to the Personal
- Programmer Main menu. If you choose Update, the Personal
- Programmer will rebuild your libraries in the new 3.5
- format. Be aware that if you update the libraries, the
- application will not be usable in Paradox 3.0. If you need
- to modify an application that will be used with both 3.5
- and 3.0, you should modify the application using only
- Personal Programmer 3.0.
-
- 2. The Personal Programmer was not designed to be used on a
- network and will not generate a multiuser application. In
- Paradox 3.0, the large amount of memory needed to create
- an application made it very difficult to execute the
- Personal Programmer with the network software loaded.
-
- Now that the Personal Programmer can access Extended RAM,
- it would have been possible to run while the network
- drivers are loaded. However, running the Personal
- Programmer on a network drive with other users working
- interactively could result in the failure of the program
- and a loss of work. To prevent this loss of data, the
- Personal Programmer has been modified to prevent the use
- of a network drive.
-
- 3. The Personal Programmer allows you to set validation checks on
- fields, requiring that they be filled with valid data.
- There is one case where a combination of validity checks
- will cause a problem. If you use the "TableLookup/HelpAndFill"
- and the "RequiredField" options together, users may get
- "stuck" in the field. In this case, pressing F1 to bring
- up the Lookup will result in the message "A value must be
- provided in this field." The user doesn't know what a
- valid value is, and can't check to find out. This
- combination should be avoided.
-
-
- 7. FILES ON THE DISKS
- ---------------------
-
- This is the configuration for 5.25" disks. Each 3.5" disk except
- Personal Programmer Disk 3 contains the directories and files from two
- 5.25" disks, as indicated by its disk label.
-
- DISK 1: INSTALLATION/SAMPLE TABLES DISK
- ----------------------------------------
- INSTALL EXE - Paradox installation program
- README COM - Program to display README file
- INSTALL CFG - Installation parameters
- UNZIP EXE - Program to "unzip" compressed files
- ASCII SOR - ASCII sort order
- INTL SOR - International sort order
- NORDAN SOR - Norwegian/Danish sort order
- SWEDFIN SOR - Swedish/Finnish sort order
-
- SYS ZIP - Zip file containing:
- NUPDATE EXE - Program to update serial numbers, net type
- PARADOXK EXE - Protected mode driver program
- PARADOX CFG - Default Paradox configuration settings
- PARADOX SOM - Paradox program file
-
- In \UTIL:
- UTIL ZIP - Zip file containing:
- FLIMPORT EXE - Fixed-length Import utility program
- FLIMPORT DOC - Documentation for Fixed-length Import program
- VOUCH EXE - Checksum utility program
-
- In \SAMPAPP:
- SAMPAPP ZIP - Zip file containing sample application:
- BOARD SC - Script to display Price table
- DOFEED SC - Script to generate stock Price changes
- FEED SC - Script to call procedures in DOFEED.SC
- GRAPHS SC - Script to display graphs
- HOLDINGS SC - Script to display holdings
- MKLIB SC - Script to build procedure library
- PORTFOL SC - Script to display portfolios
- STOCKS SC - Main menu script
- TICKER SC - Script to display "ticker tape"
- HOLDING DB - Holdings table
- HOLDING PX - Holdings table - primary index
- PRICE DB - Stock Price table
- PRICE PX - Stock Price table - primary index
- PRICE SET - Stock Price table - settings file
- GRAPH1 G - Sample application Bar & Marker graph spec
- GRAPH2 G - Sample application 3-D Bar graph spec
- GRAPH3 G - Stacked Bar graph spec
- GRAPH4 G - Sample application Pie chart spec
-
- In \TABLES:
- TABLES ZIP - Zip file containing sample files:
- DEBUGTST SC - Sample PAL code (with intentional errors)
- PIES SC - Recorded script to create sample graphs
- RECAP SC - Script to do work done manually during tutorial
- BOOKORD DB - Sample Book orders table
- BOOKORD F1 - Sample Book orders table - form 1
- BOOKORD PX - Sample Book orders table - primary index
- CUSTOMER DB - Sample Customer table
- CUSTOMER F1 - Sample Customer table - form 1
- CUSTOMER F2 - Sample Customer table - form 2
- CUSTOMER F3 - Sample Customer table - form 3
- CUSTOMER PX - Sample Customer table - primary index
- CUSTOMER R1 - Sample Customer table - report 1
- CUSTOMER R2 - Sample Customer table - report 2
- CUSTOMER SET - Sample Customer table - image settings
- DISTRICT WQ1 - Sample Quattro PRO worksheet
- EMPLOYEE DB - Sample Employee table
- EMPLOYEE F1 - Sample Employee table - form 1
- EMPLOYEE PX - Sample Employee table - primary index
- EMPLOYEE SET - Sample Employee table - image settings
- HOMEGRP DB - Sample Home group table
- MAIL DB - Sample Mail table
- MAIL PX - Sample Mail table - primary index
- MAIL R1 - Sample Mail table - report 1
- MASTERBK DB - Sample Master book table
- NEWRECS DB - Sample New records table
- PRODUCTS DB - Sample Products table
- PRODUCTS SET - Sample Products table - image settings
- PROMO DB - Sample Promotion table
- PROMO PX - Sample Promotion table - primary index
- REPPERF DB - Sample Repperf table
- REPPERF PX - Sample Repperf table - primary index
- SALES DB - Sample Sales table
- SALES SET - Sample Sales table - image settings
- SUBGROUP DB - Sample Subgroup table
- VOLS DB - Sample Volumes table
- VOLS PX - Sample Volumes table - primary index
- XCHANGE DB - Sample Xchange table
-
- In \WINDOWS:
- PARADOX PIF - Windows 3.0 PIF file for Paradox
- PPROG PIF - Windows 3.0 PIF file for PProg
- PDOXRUN PIF - Windows 3.0 PIF file for Runtime
- PARADOX GRP - Windows 3.0 group file for Paradox
-
- README - This file
-
- DISK 2: SYSTEM DISK 1
- ----------------------
- in \SYSTEM1:
- PDOX1 ZI1 - First part of main Paradox executable file
-
- DISK 3: SYSTEM DISK 2
- ----------------------
- in \SYSTEM2:
- PDOX1 ZI2 - Second part of main Paradox executable file
- PDOX2 ZI1 - First part of zip file for other Paradox files
-
- DISK 4: SYSTEM DISK 3
- ----------------------
- in \SYSTEM3:
- PDOX2 ZI2 - Second part of zip file for other Paradox files
-
- DISK 5: CUSTOM CONFIGURATION DISK
- ----------------------------------
- In \CUSTOM:
- CUSTOM ZIP - Zip file containing:
- CUSTOM SC - Custom Configuration - main script
- COLORS LIB - Custom Configuration - color procedures library
- CUSTOM LIB - Custom Configuration - main procedure library
- CUSTOM OV1 - Custom Configuration - Tune menu command
-
- DISK 6: DATA ENTRY TOOLKIT DISK
- --------------------------------
- In \TOOLKIT:
- TOOLKIT ZIP - Zip file containing Data Entry Toolkit:
- BORROW0 SC - Borrow script for CUSTDPA.SC
- BORROW1 SC - Borrow script for MINIDPA.SC
- BORROW2 SC - Borrow script for INVDPA.SC
- BORROW3 SC - Borrow script for ORDRDPA.SC
- CUSTDEMO SC - Custom procedures for Cust table, DoWait demo
- CUSTDPA SC - DoWait Procedure Assignment set for Cust
- DEMO SC - Starts the DoWait demonstration
- DOW8DEMO SC - Builds DOW8DEMO.LIB for DoWait demo
- EDITMENU SC - Source code for EditMenu procedure
- ENFORME SC - Main Enforme form editor script
- FORMBRDR SC - Enforme border drawing routines
- FORMGOTO SC - Enforme workspace positioning routines
- FORMHELP SC - Enforme help screen
- FORMHOPS SC - Enforme workspace movement routines
- FORMMAIN SC - Enforme main getkey procedure
- FORMMAKE SC - Script to create Enforme procedure library
- FORMSLCT SC - Enforme form selection routines
- GETFILE SC - Source code for GetFile procedure
- GETPASS SC - Source code for GetPassword procedure
- HELPDEMO SC - Inactivity proc, help for DoWait demonstration
- INVDEMO SC - Custom procedures for Invoice, DoWait demo
- INVDPA SC - DoWait Procedure Assignment set for Invoice
- KERNEL SC - Source code for DoWait procedures
- KEYCODES SC - Source code for SetKeycodes procedure
- LOOKSLCT SC - Source code for LookupSelect procedure
- LOOKWAIT SC - Source code for LookupWait procedure
- MINIDEMO SC - Source code for sample SetUpDoWait session
- MINIDPA SC - DoWait Procedure Assignment set for Cust
- ORDRDEMO SC - Custom procedures for Orders table, DoWait demo
- ORDRDPA SC - DoWait Procedure Assignment set for Orders
- POPUP SC - Source code for Popup procedures
- POPUP2 SC - Source code for Popup2 procedures
- RECURSW8 SC - Source code for RecurseWait procedure
- RELEASW8 SC - Source code for ReleaseWait procedure
- RFRSHCNV SC - Source code for RefreshCanvas procedure
- TKDEBUG SC - Source code for TKDebug procedure
- TKMENU SC - TKMenu main script
- TKUPDATE SC - Script to update Paradox 2.0 spec files
- TKUPDATE LIB - TKUpdate procedure library
- TOOLKIT2 LIB - TKMenu procedure library
- CARRIERS DB - DoWait demo Carrier service table
- CARRIERS F - DoWait demo Carrier service table - form 1
- CUST DB - DoWait demo Customer table
- CUST F - DoWait demo Customer table - form F
- CUST F1 - DoWait demo Customer table - form 1
- CUST PX - DoWait demo Customer table - primary index
- CUST VAL - DoWait demo Customer table - validity checks
- INVOICE DB - DoWait demo Invoice table
- INVOICE F - DoWait demo Invoice table - form F
- INVOICE PX - DoWait demo Invoice table - primary index
- INVOICE VAL - DoWait demo Invoice table - validity checks
- ORDERS DB - DoWait demo Orders table
- ORDERS F - DoWait demo Orders table - form F
- ORDERS PX - DoWait demo Orders table - primary index
- ORDERS VAL - DoWait demo Orders table - validity checks
- PAYMENT DB - DoWait demo Payment table
- STOCK DB - DoWait demo Stock table
- STOCK PX - DoWait demo Stock table - primary index
- TKFIELDS DB - TKMenu field-level proc data table
- TKFIELDS F - TKMenu field-level proc data table - form F
- TKFLDLVL DB - TKMenu field-level procedures - table
- TKFLDLVL F - TKMenu field-level procedures - form F
- TKFLDLVL PX - TKMenu field-level procedures - primary index
- TKFLDLVL R - TKMenu field-level procedures - report R
- TKFLDLVL SET - TKMenu field-level procedures - image settings
- TKFLDLVL VAL - TKMenu field-level procedures - validity checks
- TKKEYLVL DB - TKMenu key-level procedures - table
- TKKEYLVL PX - TKMenu key-level procedures - primary index
- TKKEYLVL R - TKMenu key-level procedures - report R
- TKKEYLVL VAL - TKMenu key-level procedures - validity checks
- TKPRCMAP DB - TOOLKIT.LIB procedure mapping - table
- TKPRCMAP PX - TOOLKIT.LIB procedure mapping - primary index
- TKPROCS DB - TOOLKIT.LIB procedure list - table
- TKPROCS PX - TOOLKIT.LIB procedure list - primary index
- TKPROCS VAL - TOOLKIT.LIB procedure list - validity checks
- TKTBLLVL DB - TKMenu table-level procedures - table
- TKTBLLVL R - TKMenu table-level procedures - report R
- TKTBLLVL VAL - TKMenu table-level procedures - validity checks
-
- In \PROTECT:
- PROTECT ZIP - Zip file containing:
- PROTECT SC - Protection Generator - main script
- PROTECT LIB - Protection Generator - procedure library
-
- DISK 7: PERSONAL PROGRAMMER DISK 1
- -----------------------------------
- in \PPROG1:
- PPROG SOM - Personal Programmer program file
- PPROG1 ZI1 - First part of main PProg executable file
-
- In \VIDEO:
- VIDEO ZIP - Zip file containing Video demo application:
- VIDENT SC - Data entry script
- CUSTOMER DB - Customer table
- CUSTOMER F1 - Customer table - form 1
- CUSTOMER PX - Customer table - primary index
- FILMCAT DB - Film category table
- FILMCAT PX - Film category table - primary index
- FILMS DB - Films table
- FILMS F - Films table - standard form
- FILMS PX - Films table - primary index
- ORDERS DB - Orders table
- ORDERS F1 - Orders table - form 1
- ORDERS F2 - Orders table - form 2
- ORDERS PX - Orders table - primary index
- ORDERS VAL - Orders table - validity checks
- ORDTEMP DB - Film checkout table
- ORDTEMP F1 - Film checkout table - form 1
- ORDTEMP VAL - Film checkout table - validity checks
- OVERMAP DB - Overdue films - map table
- OVERSRC DB - Overdue films - source table
- OVERSRC R2 - Overdue films - source table report 2
-
- DISK 8: PERSONAL PROGRAMMER DISK 2
- -----------------------------------
- in \PPROG2:
- PPROG1 ZI2 - Second part of main PProg executable file
- PPROG2 ZI1 - First part of zip file for other PProg files
-
- DISK 9: PERSONAL PROGRAMMER DISK 3
- -----------------------------------
- in \PPROG3:
- PPROG2 ZI2 - Second part of zip file for other PProg files
-