The new Object-Oriented REXX contains an enhanced REXXUTIL DLL. This DLL exports a lot of new functions in addition to the normal REXXUTIL DLL (see below).
You don't need to install Object-Oriented REXX to use its enhanced REXXUTIL DLL. The DLL also runs under Classic REXX in OS/2 WARP 3 and OS/2 WARP Version 4. (Note that the default REXX interpreter in OS/2 WARP 4 is still Classic REXX!)
Use one of the following methods to use the new REXXUTIL.DLL in Classic REXX when Classic REXX is your default (i.e., currently installed) REXX.
Using the new REXXUTIL.DLL as default REXXUTIL.DLL
To use the new REXXUTIL.DLL as the default REXXUTIL.DLL with Classic REXX,
rename the original REXXUTIL.DLL to something like REXXUTIL.BAK.
Then copy the file REXXUTIL.DLL (and REXXCRT.DLL in OS/2 WARP
3) from Object-Oriented REXX to
the OS/2 DLL directory \OS2\DLL and reboot.
Note that in OS/2 WARP Version 4 the new REXXUTIL.DLL is named OREXUTIL.DLL
when Classic REXX is the default REXX interpreter. (When Object-Oriented
REXX is installed as the default REXX, OREXUTIL.DLL is automatically
renamed to REXXUTIL.DLL and the corresponding DLL for Classic REXX
becomes CREXUTIL.DLL)
That's it.
Using only the new functions from the new REXXUTIL.DLL
To use only the new functions from the new REXXUTIL DLL, copy the REXXUTIL.DLL
from Object-Oriented REXX into
a new directory, for example C:\OREXX.
In OS/2 WARP 3 you must also copy the DLL REXXCRT.DLL from Object-Oriented
REXX into the OS/2 DLL directory; in OS/2 WARP Version 4 this DLL already
exists in the OS/2 DLL directory.
To use a function from the new REXXUTIL DLL, simply load it using RxFuncAdd.
You must use the RxFuncAdd statement for every function from
the new REXXUTIL.DLL you need -- you cannot use SysLoadFuncs!
It's also important in this case that you use the fully qualified name
for the DLL in the RxFuncAdd statement!
Example:
/* To show how we can have the REXXUTIL DLL for Classic REXX loaded */ /* as the default and -- at the same time -- use the new functions of */ /* the Object REXX DLL, in this example we'll first load REXXUTIL */ /* from Classic REXX. (This first step is not required every time you */ /* call a function from Object REXX's REXXUTIL.) */ /* load the REXXUTIL DLL from Classic REXX */ call RxFuncAdd "SysLoadFuncs", "REXXUTIL", "SysLoadFuncs" call SysLoadFunc /* load the functions SysBootDrive and SysProcessType from the new */ /* REXXUTIL DLL */ /* (assuming the new REXXUTIL.DLL is in the directory C:\OREXX) */ call RxFuncAdd "SysBootDrive", "c:\orexx\rexxutil", "SysBootDrive" call RxFuncAdd "SysProcessType", "c:\orexx\rexxutil", "SysProcessType"
Following is a list of the new functions in the REXXUTIL.DLL from Object-Oriented REXX (Please note that the following links will only work if Object REXX is the default REXX interpreter on your system!):
The updated version of Object REXX from 11 Nov 1997 (see Object REXX for OS/2) contains some additional new REXXUTIL functions. (Please note that the following links will only work if the Object REXX from 11 Nov 1997 is the default REXX interpreter on your system!) These additional functions are:
Also new in this version of REXXUTIL is the ability to use the Sysini function in non-PM environments. To do this, the new DLL SHPIINST.DLL must be in the LIBPATH.
---------- * ----------
The updated version of Object REXX from 18 May 1999 (see Object REXX for OS/2) contains some additional new REXXUTIL functions. (Please note that the following links will not work even if the Object REXX from 18 May 1999 is the default REXX interpreter on your system because the functions are not documented in the INF file! see Documentation for the new REXXUTIL functions) These additional functions are:
Warning: According to some messages on CompuServe the REXXUTIL DLL from the beta versions of Object-Oriented REXX are not fully compatible with the normal REXXUTIL DLL! But now that the Special Edition of Object-Oriented REXX is available at the Net for free you shouldn't use the Beta anyway.