LICENSE AGREEMENT

THIS IS A LEGAL AGREEMENT BETWEEN YOU (THE END USER) AND THE IBM
CORPORATION.  BEFORE USING OBJECT REXX, YOU SHOULD CAREFULLY
READ THE FOLLOWING TERMS AND CONDITIONS.  USING OBJECT REXX
INDICATES YOUR ACCEPTANCE OF THE TERMS AND CONDITIONS.  IF YOU DO NOT
AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT USE OBJECT REXX.

IBM LICENSE AGREEMENT FOR OBJECT REXX.

I. GRANT OF LICENSE.  Subject to the terms of this Agreement, IBM grants
to you the non-transferable right to use one copy of Object REXX (which
consists of object code, sample source code,and documentation) on only
one machine at any one time.  You may not copy, modify or merge copies
of Object REXX except as provided below.  You may not reverse compile,
reverse engineer or reverse assemble those portions of Object REXX
provided in object code form.  You may not rent, lease, sell,
sublicense, assign, or otherwise transfer Object REXX except as provided
below.

Additional Rights - In addition to the rights defined above, you may
copy, modify, and distribute those portions of Object REXX provided in
the sample source code without payment to IBM, for purposes of
developing, using, marketing and distributing application programs.
Each copy of any portion of sample source code or any derivative work,
which is distributed to others, must include a copyright notice as
follows: c Copyright (your company name) (year).  All rights reserved.

II.  COPYRIGHT.  Object REXX is owned by IBM or its suppliers and is
protected by United States copyright laws.  In addition to the rights
granted to the sample source code, you may also make one copy of Object
REXX solely for backup or archival purposes.

III. TERMINATION.  1) You may terminate your license at any time by
destroying all of your copies of Object REXX and 2) IBM may terminate
your license to this program if you fail to comply with all the terms
and conditions of the Agreement.  Upon termination, you agree to destroy
all your copies of Object REXX.

IV.  DISCLAIMER OF WARRANTY.  Object REXX includes programs and
documentation which contain pre-release code and may be modified
substantially before general availability.  This pre-release program
may not be at the level of performance or compatibility of generally
available IBM products.  IBM does not guarantee that this pre-release
program, The Object REXX, will ever be made generally available.

Object REXX is provided "AS-IS".  IBM makes no warranty express or
implied with respect to Object REXX including the implied
warranties of merchantability and fitness for a particular purpose.
The entire risk arising out of use or performance of the Object REXX
remains with you.

In no event will IBM or its suppliers be liable for any lost profits,
lost savings, incidental damages or other economic consequential
damages, even if IBM, or its authorized supplier, has been advised of
the possibility of such damages.  In addition, IBM will not be liable
for any damages claimed by you based on any third party claim.

Some jurisdictions do not allow the exclusion of implied warranties 
or the exclusion or limitation of consequential or incidental damages,
so the above provisions relating thereto may not apply to you.                            

V.  General.  This license is governed by the substantive laws of the
State of New York (excluding choice of law rules).

* IBM is a registered trademark of International Business
Machines Corporation.
Other products and brand names may be trademarks or registered
trademarks of their respective owners.



Instructions for the installation of Object REXX for Windows.


SUPPORTED SYSTEMS: Windows NT 3.X and Windows 95


MATERIALS:

  The Object REXX materials you received contain two (2) diskettes.

   Object REXX Disk 1 - Object REXX for Windows installation disk 1
   Object REXX Disk 2 - Object REXX for Windows installation disk 2


DOCUMENTATION:

  README.TXT
     This text file tells you how to install Object REXX for Windows and
     describes requirements and information for using Object REXX. 
     It also contains a list of the latest enhancements to Object REXX.

  OBJREXXW.INF
     is the on-line reference file for Object REXX, which describes 
     Object REXX for Windows. Launch the "Object REXX Reference" icon in 
     the Object REXX group to view this file.


  RXGUIDEW.INF
     is the Object REXX programming guide for Windows.
     Launch the "Object REXX Programming Guide" icon in the Object REXX 
     group to view this file.

     Note:  This documentation may in some parts be specific for OS/2 
            and is not completed yet. 


PRODUCT REQUIREMENTS:


  System requirements:
     - Microsoft Windows NT 3.1 (*) or
     - Microsoft Windows NT 3.5 (*) or
     - Microsoft Windows 95 (*)
   

  Hard disk requirements: 

     Object REXX executables                (1.3MB)
     Object REXX Samples                    (0.3MB)
     Object REXX online-help program files  (1.5MB)
     Total                                  (3.1MB)


INSTALLATION:

  Object REXX:

     (1) Restart Windows before installing Object REXX to be sure that 
         the memory manager of an previous installed beta of Object REXX
         is not active anymore

     (2) Place Object REXX diskette 1 in your diskette drive. 
         From File Manager, display the files on the floppy, then 
         double-click on INSTALL.EXE.

         Alternatively, follow steps a-d below:
          a) From Program Mangager, select File from the Action Bar - a
             drop-down menu will appear
          b) Select Run... from the drop-down menu - the Run dialog box
             will appear
          c) Enter a:install in the Command Line field
          d) Click on OK

     (3) Follow the installation program instructions to complete 
         Object REXX installation.


Note: If you install Object REXX on Windows NT you'll have to set the 
      following environment variables in the system settings
      (Control Panel) manually:
   
  SET PATH = {executable directory (default: c:\orexx)}
  SET BOOKSHELF = {documentation directory (default: c:\orexx\book)}
  SET INCLUDE = {API directory (default: c:\orexx\api)}


EXPLORING OBJECT REXX

    Once you have installed the Object REXX files you have two ways to 
    run Object REXX. 

 (1) To run Object REXX in a windowed application, double-click on the 
     Object REXX icon within the Object REXX Beta group.  
     The application program file to invoke Object REXX is REXXW.EXE. 
     You may also enter REXXW on the command promt.

 (2) To run Object REXX in the text mode console, enter REXXC on 
     the command prompt. The application program file is REXXC.EXE.


   To help you explore programming in Object REXX, the following sample
   programs are provided (with source code):

       - ccreply:  concurrent program using REPLY
       - complex:  complex number class
       - factor:   factorial program
       - greply:   concurrent program using WAIT and NOWAIT
       - guess:    a guessing game
       - ktguard:  concurrent program using START and GUARD
       - month:    displays days of the month of January
       - pipe:     a pipeline implementation
       - qdate:    date query program
       - qtime:    time query program
       - semcls:   semaphore class
       - stack:    program which uses a stack class
       - usecomp:  program which uses complex number class
       - usepipe:  program which uses pipeline implementation



GENERAL OBJECT REXX BETA TEST OBJECTIVES

  The objective of this Object REXX beta test is to give our
  customers early access to the latest Object REXX driver for Windows
  and enable them to develop object-oriented programs. Sample programs
  and on-line documentation are also provided to assist you with 
  Object REXX.

  We are interested in your feedback on Object REXX and any problems you 
  may find. 


KNOWN LIMITATIONS

1) OBJECT REXX REFERENCE DRAFT DOCUMENT

  Collection Classes:

   - Abstract collection classes are not implemented, but
     the collections themselves should have all the methods
     defined for their class plus all the methods which the
     Reference indicates they should inherit.


2) RUNNING YOUR EXISTING REXX PROGRAMS:

 For the most part, any existing REXX programs you have should
 work with Object REXX.  There are, however, some differences.

   - Some error codes have changed and some have been added.  Also,
     for most errors you will now receive 2 error messages.  The
     first should be similar (if not identical) to the message you
     would have seen previously.  The second provides additional
     and more detailed information.  So, for example, where you formerly
     received "Invalid Call to Routine", you will now get further
     information on what is wrong with the call.

   - Some errors are now detected earlier.  Formerly, REXX would wait
     until it encountered an error during execution to report it
     to you.  Now, some errors will be reported before the first
     instruction in your REXX script is executed. In particular, syntax
     errors will be reported after you have invoked the program but 
     before it starts execution.

   - The SEEK command used with the STREAM function will require an
     option (READ, WRITE, etc) when used to set the position within
     a stream that is opened for both reading and writing.

   - When using "REXXC" or "REXXW" to run your REXX programs, 
     Object REXX searches first for ".REX" file extensions.


3) CHANGES TO EARLIER OBJECT REXX BETAS

  +  Activities are using real system threads (real concurrency)

  +  Memory management has been improved

  +  The REXX API has been fixed (exspecially macrospace and 
     subcommand handlers)

  +  RXSUBCOM and RXQUEUE have been ported to Windows

  +  Some changes had been done to support Windows 95

  +  REXXCOM has been included in the package. REXXCOM.EXE is a program 
     to encrypt your Object REXX program

  +  parse source or syswinver() will return "WindowsNT" for NT and
     "Windows95" for 95 (without a blank)

  +  The API functions all use the calling convention APIENTRY 
     (_stdcall) to support compilers other than Microsoft Visual C++

  -  RxMessageBox documentation is not correct use the following for 
     parameters

     parameters:
       text : online-doc correct
       title: online-doc correct
       button styles:
          OK  (Default)
          OKCANCEL
          RETRYCANCEL
          YESNO
          YESNOCANCEL
          ABORTRETRYIGNORE
       icon styles
          HAND
          QUESTION
          EXCLAMATION
          ASTERISK
          INFORMATION
          STOP
       returns
          3     Abort button was selected.
          2     Cancel button was selected.
          5     Ignore button was selected.
          7     No button was selected.
          1     OK button was selected.
          4     Retry button was selected.
          6     Yes button was selected.

     If a message box has a Cancel button, the function returns the 2 
     value if either the ESC key is pressed or the Cancel  button is 
     selected. If the message box has no Cancel button, pressing ESC has 
     no effect.

  +  RxWinExec CmdLine[,CmdShow]

     RxWinExec is a new REXX system utility on Object REXX for Windows.  
     The online documentation does not contain this function.

     The RxWinExec function runs the specified application.

       Parameter   Description

         CmdLine   a string that contains the command line  (filename
                   plus optional parameters) for the application to
                   be executed. If the name of the executable file 
                   in the CmdLine string does not contain a 
                   directory path, RxWinExec searches for the executable 
                   file in this sequence:

                   1  The directory from which Object REXX was loaded.
                   2  The current directory.
                   3  The Windows system directory.
                   4  The Windows directory.
                   5  The directories listed in the PATH 
                      environment variable.

         CmdShow   Specifies how a Windows-based application window is 
                   to be shown. For a non-Windows-based application, the 
                   PIF file, if any, for the application determines the
                   window state.

                   Valid Values            Description

                   SHOWNORMAL      - Activates and displays a window.
                   SHOWNOACTIVATE  - Displays the window while the 
                                 current active window remains active
                   SHOWMINNOACTIVE - Displays the window as a mimimized
                                     window, the current active window
                                     remains active
                   SHOWMIMIMIZED   - Activates the window and displays
                                     it as a minimized window.
                   SHOWMAXIMIZED   - Activates the window and displays 
                                     it as a maximized window
                   HIDE            - Hides the window and activates
                                     another window.
                   MINIMIZE        - Minimizes the specified window and
                                     activates the next top-level window
                                     in the Z order

         Returns   If the function succeeds, the return value is greater
                   than 31; otherwise, it is one of the following error
                   values:

                   Value   Meaning
                   0   The system is out of memory or resources.
                   2   The specified file was not found.
                   3   The specified path was not found.
                   11  The .EXE file is invalid


4) WINDOWS 95:

   Host commands addressed to CMD (on Windows 95 COMMAND.COM) will 
   return 0 as the return code because Windows 95 currently does not
   allow to get a return code from a 16-bit application like COMMAND.COM 



SUPPORT:

  OBJREXX FORUM on IBMPC conference disk






(*) Microsoft Windows, Windows 95 and Windows NT are trademarks 
    of Microsoft Corporation
.