Welcome to Borland Pascal with Objects 7.0 ------------------------------------------ This README file contains important, last minute information about Borland Pascal with Objects 7.0. In addition to this file, there are several files in the \BP\DOC directory that you should browse. TABLE OF CONTENTS ----------------- 1. How to get help 2. Brief introduction to DOS Protected Mode Interface (DPMI) 3. Installation 4. New Features 5. Release Notes 6. Important note for Borland C++ and Paradox 4.0 users 1. HOW TO GET HELP ------------------ If you have any problems, please read this file, the online documentation files in \BP\DOC, the online help files, and the Borland Pascal manuals first. If you still have a question and need assistance, help is available from the following sources: 1. Type GO BPROGA on the CompuServe bulletin board system. If you are not a member of CompuServe, see the enclosed special offer. 2. Check with your software dealer or user group. 3. Write to us: Borland International Borland Pascal with Objects 7.0 Technical Support, Dept 26 1800 Green Hills Road P.O. Box 660001 Scotts Valley, CA 95067-0001 Please include your serial number or we will be unable to process your letter. 4. If you have an urgent problem and you have sent in the license agreement that accompanied this package, you can call the Borland Technical Support Department at (408) 461-9177. Please have the following information ready before calling: a. Product name and serial number from the distribution disks. b. Product version number. Both the IDE and the command-line compiler display a version number when they are executed. c. Computer brand, model, and the brands and model numbers of any additional hardware. d. Operating system and version number. (The version number can be determined by typing VER at the DOS prompt.) e. If running Windows, the version and mode of your Windows session. (From Program Manager, select Run from the File menu, and enter "WINVER"). f. Contents of your AUTOEXEC.BAT and CONFIG.SYS files. 2. BRIEF INTRODUCTION TO DOS PROTECTED MODE INTERFACE (DPMI) ------------------------------------------------------------ Borland Pascal with Objects 7.0 includes DPMI-based tools, and allows you to produce DPMI applications. These applications gain access to all available extended memory by using a special mode of the computer's CPU, called protected mode. However, only 80286 (and above) chips provide this capability. For this reason, Borland Pascal requires the following minimum configuration: Processor type : 80286 DOS memory : 640k Extended memory : 1MB free (On 80286 machines, it is recommended to have a memory manager such as HIMEM.SYS installed. Refer to your DOS manuals for more information on memory managers.) A protected mode application requires that the files DPMI16BI.OVL and RTM.EXE be located in the same directory as the application or on the DOS path. RTM.EXE provides the application with memory management services, while DPMI16BI.OVL is the DPMI server. You may also use other DPMI servers instead of DPMI16BI.OVL, such as the one provided by Windows when running in a DOS box. Please refer to the Borland Pascal documentation for more information regarding protected-mode. 3. INSTALLATION --------------- Note: Borland Pascal with Objects 7.0 is not intended to be installed over any previous version of Turbo Pascal. Use the INSTALL program to install Borland Pascal. The files on the distribution disks are all archived and INSTALL will de-archive them for you. INSTALL places them into subdirectories and automatically creates configuration files for the command-line compilers and the Integrated Development Environments (IDEs). IMPORTANT: All further references to directory paths in this README file assume you've used INSTALL's default directory structure. To start the installation, place the disk labeled INSTALL in Drive A:, and type A:INSTALL. Borland Pascal allows you to create applications for these target platforms: o DOS real mode o 16-bit DOS protected mode (DPMI) o Windows In addition, you can use either DOS or Windows as your host development environment. Both the DOS-hosted IDE (BP.EXE) and the Windows-hosted IDE (BPW.EXE) can produce applications for all three platforms. You can disable target support for a particular platform by selecting the "Target Platforms" menu item (from the main install dialog box) and setting the target option to "Don't Install." When you toggle any of the three target platforms (to either "Install" or "Don't Install"), the Install program automatically modifies the settings for the product components that relate to that platform. Windows Installation Notes -------------------------- o The following is a list of Windows .INI files and DLLs that Install may modify: o WIN.INI - Temporarily modified if you install a Program Manager group. The original WIN.INI is saved as WININI.OLD. The next time you start Windows, the group creation program will run and then WIN.INI will be restored to its original state. o SYSTEM.INI - Modified if you install TDDEBUG.386. The original file is saved as SYSINI.OLD. The line "device=tddebug.386" is placed in the [386ENH] section, and if the line "device=windebug.386" is present it is removed. o TDW.INI - Modified if you install Turbo Debugger for Windows. The original file, if present, is saved as TDWINI.OLD. o BPW.INI - Created if you install the Windows IDE (BPW.EXE). o SYSTEM\BWCC.DLL - Overwritten with the BWCC version 1.3. You can tell INSTALL where to place this file by selecting "Directory Options", and changing the path for "BWCC.DLL". 4. NEW FEATURES --------------- Borland Pascal with Objects 7.0 offers many new features, including: o DOS protected-mode applications - Create DOS applications that run in protected mode and gain access to all available extended memory (up to 16 MB). o DOS DLLs - Produce DLLs (Dynamic-Link Libraries) for DPMI applications. Using Borland Pascal with Object's WINAPI unit, you can generate one Pascal DLL and use it in both DOS and Windows programs. See \BP\EXAMPLES\COMMON\CHESS for an extensive example of sharing a Pascal DLL between DOS and Windows chess programs. See \BP\EXAMPLES\COMMON\GREP for an extensive example of sharing a C DLL between DOS and Windows programs. o Multi-target IDEs - Produce DOS, Windows, and protected mode DOS applications from inside the same IDE (your choice of Windows-hosted BPW or DOS protected mode-hosted BP). o ObjectBrowser - Browse units, objects, and symbols while you edit your source code using either BP or BPW. Includes full cross reference information for every identifier in your program. o Syntax highlighting - Assign unique text colors (and font attributes under Windows) for symbols, reserved words, identifiers, strings, etc. You can also print your syntax highlighted source code from inside the IDEs. o Tools menu in the IDEs that enable you to transfer control to external programs, such as GREP or Turbo Assembler. You can add your own tools to the Tools menu in the DOS IDEs. o Persistent browsing - BP and BPW save your program's symbol information across sessions so you can instantly browse or debug your program after exiting and then reloading the IDE. o User-installable help files in the DOS IDEs. Indexes from multiple help files are automatically merged so you can perform keyword or incremental searches. o Local Menus - A click of the right mouse button (or Alt+F10) brings up a context-sensitive menu in all our new IDEs. o Optimizations and RTL enhancements o RTL now automatically recognizes 386 (or better) processors and uses fast 32-bit instructions for longint arithmetic. o Faster text file I/O. o Faster string Pos routine. o Optimized sets. o Integer overflow checking {$Q+/-} - Integer, Word, etc. o PChar support - Allows null terminated strings. o OBJ file line number information pass-through - Allows stepping through C or ASM code using the integrated debugger. o Language extensions o Open array parameters {$P+/-} - Allows safer, more flexible variable length array parameters. o New OpenString type - Allows a procedure or function to accept any type of string parameter, even in $V+. o Constant parameters - Efficient, read-only value parameters. o Public/private sections - Allows public and private sections of objects to be declared in any order. o Typed @ operator {$T+/-} - Enforces type checking when using the address (@) operator. o Inherited reserved word - Allows references to an inherited method without knowing the ancestor's name. o New standard procedures/functions o Assigned - Returns True if a pointer is not equal to nil (especially useful for procedure and function pointers). o Include - Adds an item to a set. o Exclude - Removes an item from a set. o Break & Continue - FOR, WHILE, REPEAT loop control. o Low & High - Return the low or high bounds of open array parameters or of any scalar type. o ObjectWindows enhancements o New printer objects to simplify printing in Windows. o Data validation objects. o WinPrn unit - Enables easy printing of text files from within your Windows programs. o Turbo Vision enhancements o Data validation objects. o New outliner object. o New methods for inserting/executing windows and dialog boxes. o Multi-state check boxes. o Cluster items that can be disabled. o Turbo Debugger for DPMI (TDX.EXE) - Special version of Turbo Debugger used for debugging DOS protected-mode applications. o Turbo Debugger for Windows now includes XGA/SVGA support for several popular chip sets, including TSeng, Ultra, ATI, 8514, and others. o Completely reorganized printed documentation, with new tutorial programs. o Expanded online help system, covering all new features. See the "What's new" section of the User's Guide for more information regarding the new features of Borland Pascal with Objects 7.0. 5. RELEASE NOTES ---------------- o In ObjectWindows, the WObjects unit has been reorganized into several smaller units to allow greater compatibility with DOS units and easier compilation with debug information. It's easy to modify your "uses" lists to reflect the new units: As a general rule, any program that uses WObjects should now use OWindows and ODialogs. Streams and collections are now found in the Objects unit (which is shared between DOS and Windows programs). Finally, the StdDlgs and StdWnds units have been renamed to OStdDlgs and OStdWnds, respectively. o If you are using Windows 3.0, update your Windows Help system (WINHELP.EXE and WINHELP.HLP) to the Windows 3.1 versions which are in the \BP\BIN directory. You can safely overwrite the 3.0 versions of these files with the 3.1 versions. o RTMRES.EXE - This program (found in \BP\BIN) causes the Borland DPMI loader and server to be resident in memory. This will speedup the loading of DPMI applications such as BP.EXE. If you have an 80286-based system and want to run BP.EXE in a Windows standard-mode DOS box, you should run RTMRES before running Windows. This is only necessary if you will run more than one Borland protected-mode application at a time (BP 7.0, BC 3.x, Paradox 4.0, and so on). To use RTMRES.EXE for this purpose, specify the amount of extended memory the Borland DPMI server should allocate, using a DOS environment variable called DPMIMEM. For example: SET DPMIMEM=MAXMEM 2048 This command, which can be executed from the DOS prompt or a batch file, allocates 2 MB to the DPMI server and leaves all remaining extended memory for Windows. Note that BP.EXE requires a minimum of 1 MB of extended memory. The command-line syntax for RTMRES is: RTMRES [ProgName [arg1, arg2,...]] Where ProgName is the optional name of a program to immediately execute (which avoids loading a copy of your command processor if the program is an .EXE or .COM file). You must include the program's extension, for example: RTMRES win.com The source code to RTMRES.EXE is located in \BP\EXAMPLES\UTILS\RTMRES.PAS. o If you run BP.EXE from a Windows DOS box and want to modify the BP.PIF file provided, make sure to specify at least 1 MB XMS. Without a minimum memory setting, the DPMI application may not be able to get the memory it needs; without a maximum memory setting, the DPMI run-time manager (RTM) will grab half of all available memory, slow Windows performance, and prevent you from opening more than one or two Windows DOS boxes. 6. IMPORTANT NOTE FOR BORLAND C++ AND PARADOX 4.0 USERS ------------------------------------------------------- The DPMILOAD.EXE and DPMI16BI.OVL files provided with this release replace the older ones that came with Paradox 4.0 and BC++ 3.0 or later. Delete or rename the older versions and put \BP\BIN on your DOS path (so Paradox and BC can use the newer ones). If you want to be able to run BC++ or Paradox from within BP.EXE, you will need to use the EXTLEAVE option for the RTM environment variable in order to leave enough memory available. For example, you can set aside 2 MB for other programs by using: SET RTM=EXTLEAVE 2048 See the printed documentation for more information regarding the RTM environment variable. If you plan to shell out from Paradox or BC++ to run BP.EXE, limit the amount of extended memory used by those programs. For Paradox, use its /extk command-line parameter; and for BC++, use its /x command-line parameter. Refer to their documentation for more information on the use of command-line options. Here's a summary for troubleshooting purposes: 1. Are there any copies of DPMILOAD.EXE or DPMI16BI.OVL on the path prior to those provided \BP\BIN? Or in the same directories as BC.EXE or PARADOX.EXE? If so, replace them with BP 7.0's newer versions or remove them and set your DOS path correctly. 2. Have you set the RTM environment variable? For example: SET RTM=EXTLEAVE 2048 3. If starting Paradox or BC first, have you used the required command-line options? * * * * *