Virtual Pascal for OS/2 v1.10 Evaluation Licence (C) 1996 fPrint UK Ltd Introduction ~~~~~~~~~~~~ This evaluation/demo version of Virtual Pascal for OS/2 includes a fully functional version of the Integrated Development Environment (IDE) and the Compiler, but contains only limited online help and no source code for the Run-Time Library. What is included in this evaluation version? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The PM version of the IDE, VP/PM is included. This requires OS/2 Presentation Manager to be installed; the demo version does not function on systems without PM installed. All Run-Time Library modules, the Turbo Vision library and the MathPak87 Lite library that form part of VP/2 v1.10 are included in a Dynamic Link Library VP11DEMO.DLL. The PM Library (OWL), the TurboPower toolkit upgrades and other extras are available in the full version only. Using the demo DLL, you can write applications using any function from the DLL, but you are not allowed to distribute the executables; this demo version is for evaluation purposes only. The DLL itself may not be distributed other than as part of this evaluation licence. The interface sections of all source modules included in the DLL are included, enabling you to see the names, parameters and comments of every function in the DLL. These interface files are located in the SOURCE directory and subdirectories. In addition, a small number of examples demonstrating various aspects of the capabilities of VP/2 are included. For a description of the examples, please refer to the file Examples.Txt. What is in the full version? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * The text-mode version of the IDE, which can run on any 32-bit OS/2 system, from v2.0 and up. This version does not require OS/2 PM to be installed. * Full source code for most RTL units; all units can be linked statically into your executable files. Programs written using VP/2 do not rely on any external DLLs (other than the ones supplied as part of OS/2 :-). * Upgrade patches for Turbo Vision, Object Windows Library, Object Professional, ASync Professional and B-Tree Filer are included in the full version. TechnoJock's Turbo Toolkit is included with full source code. * Online help files, covering all OS/2 API calls as well as VP/2 online help for the IDE is included in the full version. Full context-sensitive help lookup is available. * A full range of examples, including examples from the supported toolkits, all examples from "The Art of OS/2 Warp Programming", totaling more than 150 executables with source code are included. * Users' contributions, including source code for a number of programs written by users of VP/2. These include an audio CD player, a racing game using the DIVE interface, access to Squish fidonet message bases etc. * A 365 page printed manual, with 90 pages dedicated to a User's Guide and the rest covering the Pascal Language of VP/2. Getting Started ~~~~~~~~~~~~~~~ Once you have installed this Evaluation Licence, you need to reboot the machine in order for the changes to CONFIG.SYS to take effect. If you did not let the installation program update your CONFIG.SYS, please add the x:\VPDEMO\BIN directory to the LIBPATH and PATH statements of CONFIG.SYS (Where x:\VPDEMO is the directory you chose to install to). When the machine has rebooted, you can start the VP/2 IDE by clicking the VP/PM icon in the VP/2 folder, or by writing VPPM on the OS/2 command line. Change the current directory to one of the examples (For example, EXAMPLES\CLOCK) by selecting File|Change Directory. Then, load CLOCK.PAS by pressing F3 or by selecting File|Open. Compile and run the program simply by pressing Ctrl-F9... Alternatively, you can browse through the examples, for which icons have been created on the desktop. Note, that all of the example executables are really small, because they rely on the VP11DEMO.DLL for all Run-Time Library code. Changing the Font Size ~~~~~~~~~~~~~~~~~~~~~~ The default font size of 16x8 used in VP/PM can be changed by specifying a command line parameter. Start VPPM like this VPPM /Fx30 /Fy20 to select a 30x20 font, or the nearest match available on your system. Once you have changed the font size, it becomes the new default and you do not have to specify it again. Getting your own code to work ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Because this demo licence is restricted to dynamic linking of the Run-Time Library, an extra step needs to be taken in order to get existing Pascal code to work. As shown in all of the example source codes, you need to instruct VP/2 that all units are Dynamic (ie located in a DLL). This is done by specifying a {$Dynamic VP11DEMO.LIB} compiler directive just after the USES clause of the main program file. If you enclose the $Dynamic directive in a conditional define {$IFDEF VPDEMO} ... {$ENDIF}, the demo DLL will only be used when using the demo version of the compiler. A quick example: Program MyProg; Uses Crt, Dos, Strings; ... will not compile with the evaluation licence of VP/2. You need to instruct VP/2 to look for Crt, Dos, Strings (and the ever-present System unit, which is always implicitly loaded) in the VP11DEMO.DLL file. This is done by changing the code to look like this: Program MyProg; Uses Crt, Dos, Strings; {&Dynamic VP11DEMO.LIB} ... Note, that compiler directives in VP/2 can be specified either with {$...} or with {&...}, as in the example above. VP/2 introduces a range of new compiler directive such as Dynamic, and specifying them with an ampersand (&) instead of dollar ($) allows the source to be compatible with compilers that do not understand these new directives. Resolving Type Conflicts and Moving to 32 bit ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Borland Pascal v7 and Borland Delphi 1 are both 16 bit programming languages, with the basic integer types being 16 bit. VP/2 also defines Integer and Word to be 16 bit by default, even though the use of 16 bit integers is quite inefficient in a 32-bit world. By including the Use32 VP/2 unit in your programs, Integer and Word are redefined as 32 bit, and the new types SmallInt and SmallWord are defined as 16 bit types instead. Use32 (available in the SOURCE\RTL directory) is designed to work with other Pascal compilers as well, in which case it will not redefine any types, but just define SmallInt and SmallWord. We recommend always to include Use32 in all programs and to use the basic Integer and Word types wherever the size of the variable is not important. This way, the best code possible will be generated by both VP/2, Delphi and Borland Pascal with no code changes required. All Run-Time Library units of VP/2 have been compiled using Use32. This means, that your programs may report Type Conflicts in places where none are immediately evident, for example where an Integer is passed as a Var parameter. To resolve the conflict, either redefine the parameter to Longint, or include Use32 in the Uses list of your program. Pure Interface Units ~~~~~~~~~~~~~~~~~~~~ VP/2 supports the creation of Pure Interface Units. This feature allows for distribution of the Interface section of units, with the Implementation section available in compiled form only (As .LIB, .OBJ or in a .DLL). This method is what is used to create this demo version. The Interface sections of all RTL units are available, and include the VP/2 {$PureInt+} directive. When the compiler encounters this directive, it creates a VP/2 Interface file (.VPI) only, and assumes that the object code is available elsewhere. For the demo version, the object code is available in the VP11DEMO.DLL file. More information ~~~~~~~~~~~~~~~~ More information is available in the Frequently Asked Questions file (FAQ.Txt) and the Examples file (Examples.Txt) also part of this evaluation licence. The licence agreement for this evaluation version of VP/2 is contained in Licence.Txt. These files, along with this file (ReadMe.Txt), are all contained in the DOC directory (relative to your VP/2 installation path). Those files aside, the documentation included is sparse and we strongly recommend buying a copy of "the real thing". If you have a specific problem, please write an e-mail in one of our electronic support forums; the best is the CompuServe FPRINT forum. We will answer questions posted in this forum on a daily basis whenever possible. Contact Address ~~~~~~~~~~~~~~~ Bug reports or feature requests should be directed to one of the following addresses. To order VP/2, please send an order to our address, and we will make sure the nearest local dealer gets in touch with you. fPrint UK Ltd Cambridge House Hammersmith London W6 0LE United Kingdom Att: Allan Mertner Tel. +44 (181) 563 2359 Fax. +44 (181) 563 2361 BBS +44 (181) 563 8624 Internet: vpascal@ibm.net CompuServe: 102212,3041 FidoNet: 2:254/283 WWW: http://www.fprint.co.uk/vpascal CompuServe: GO FPRINT or select OS/2 Vendor Forum B (GO OS2BVEN) Section 6. Trademarks ~~~~~~~~~~ Company names, brand names and product names are trademarks or registered trademarks of their respective holders.