PARADOX 4.0 -- A QUICK OVERVIEW A review as authored by Mundo Corp., The Borland Support Team Mundo Corp. is Ohio's leading software development house specializing in support of the Borland family of products. Copies of this review can be obtained by contacting them at: Mundo Corp. The Borland Support Team 28080 Chardon Road, Suite 211 Willoughby Hills, Ohio 44092 Voice (216) 943-4400 Fax (216) 943-1681 PARADOX 4.0 -- A QUICK OVERVIEW Paradox 4.0 is a substantial rewrite of the Paradox database product. According to Borland International, over 60 % of the underlying code has been rewritten. It is difficult to categorize all of the changes, but we are presenting them in the categories of: o File Format Changes o User Interface o Secondary Indexes o New Datatypes o Miscellaneous o PAL Extensions o System Requirements File Format Changes Paradox 4.0 tables will be similar to the 3.5 tables, but there are changes. Paradox 4.0 can read/write 3.5 tables, but to access some of the new 4.0 features, you will have to restructure your 3.5 tables as 4.0 tables. The need for speed on networks caused Borland International to revamp their locking schemes. Instead of placing a lock file for each table, Paradox 4.0 will create only two lock files. The Paradox.lck will be created upon startup and all other locks will be stored in a single Pdoxuser.lck file. The infamous form lock is gone. It is replaced by group locks which function much the same as their mainframe counterparts. Records are locked in blocks. Hence the required records and possibly contigious records are locked in a group lock. Paradox is now smart enough not to place record locks when a table write lock is already in place. This will speed processing. User Interface The user interface is vastly changed. The new interface looks like a cross between Foxpro's windowing and the Borland "C" programming interface. There is full mouse support with dialog boxes, dropdown menus, a speedbar, and system functions. All mouse functions still have keystroke equivalents for those who prefer "keyboarding" it. As one would expect, Paradox tables are viewed in moveable, resizeable, closeable, and shrinkable windows. This interface matches the IBM 91 CUA standard in most areas. We are disappointed that the mouse support does not extend to the system modes of form design and report design. The level of additional coding required would have sharply delayed the release of Paradox 4.0. Secondary Indexes A critical limitation of Paradox 3.5 has been overcome as Borland added real power to secondary indexing of Paradox tables. Secondary indexes can be defined on multiple fields in any order. They can be case independent or dependent, your choice. This will let developers give their applications a better look and feel for their users. A disappointment here is the lack of support for these secondary index features in the many table of a one-to-many linked relationship. We have determined that support can be simulated through the use of PAL code. New Datatypes Paradox 4.0 supports memo fields and binary large objects (BLOBs). Memos can be up to 250 MB in size so there should be no size problem. The implementation seems clean. The table structure lists a memo of a specific size (for example, let's say 20). Then the first 20 characters can be seen on the form, and the entire memo can be scrolled by entering fieldview (or double clicking the mouse on the memo field). You can also store pictures, bitmaps, sounds, or just about any binary file in your Paradox 4.0 database. These binary objects cannot be edited by Paradox. You can define and link in your own BLOB editor (ie., PC Paintbrush for a *.pcx graphic). Miscellaneous Paradox 4.0 uses the DPMI memory management standard used by Windows 3.1. We have seen no real problems in running Paradox 4.0 under Windows 3.1. The Paradox Application Workshop (PAW) replaces the Personal Programmer. Almost anything would be an improvement, so it is hard to be disappointed. The PAW is a large step in the right direction and does generate usable code. Fortunately for us, it will not replace the need for a competent developer to write your applications. Paradox 4.0 has a new text editor similar to the one shipped with their C language product. Again almost anything would be an improvement over the older product. The new editor is quite usable but is not feature packed enough to kill off third party editor products currently on the market. PAL Extensions It is necessary to support all the new features in PAL. Accordingly, there are a large number of extensions to the PAL language shipping with Paradox 4.0. Most notable are the user interface commands and the "event driven" command extensions. There are many new commands to support windowing (open, close, resize, move, shadow, and so on). There are functions and commands to limit and control what the user can do in the user interface. Commands such as Showpopup and Showdialog add to the menuing and user interaction feature set. Paradox 4.0 remains true to its roots in that the user has full functional access to all the interactive tools unless inhibited by the programmer. This last fact leads us to the large extensions required for the "event driven" controls that are required in Paradox 4.0. The wait command was complex under Paradox 3.5, it now takes a full seven pages in the 4.0 manual. The explanations could still be much more complete. System Requirements Paradox 4.0 is a protected mode application. It will run on 286 machines with one megabyte of RAM (no shadow RAM installed) or higher. Borland recommends a minimum of a 386SX with two megabytes of RAM. Summary We find the current and final beta release of this product to be very stable. There are a few program bugs that we would like to see fixed, but fully expect that they will be taken care of before the final product is shipped. The discussion presented above is far from complete. We will not know the full extent of the feature set and the problems/opportunities that will arise until the product ships and we spend significant time working with it. We believe that users will upgrade for many reasons, but the ones at the top of the list will be users who need: o faster speed of execution, Paradox 4.0 is much, much quicker o a graphical user interface with mouse support o additional user presentation/manipulation options stemming from added secondary index support o higher control levels over the look and feel of end user applications through the use of event driven controls Some users may opt for a wait and see approach to Paradox 4.0, but if your needs fit into the broad categories above, you will want to upgrade immediately. LIST OF PARADOX 4.0 NEW FEATURES Much faster processing Windowing and a DOS based graphical user interface Mouse Support Support for High resolution displays DPMI memory standard support Faster locking with read-only directories, files; no form lock or link lock Smaller and faster libraries Binary object support Memo field support Dialog boxes Popup and Pulldown menus Event triggers Dynamic arrays New editor New application generator Postscript support Temporary tables suppressed for certain queries Multifield and caseless secondary indexes Viewing in secondary index order Workspace, table, record and fields events in the wait command Optional suppression of query restart to allow "dirty" database reads