To use a "compiled" program in Classic REXX and in Object REXX you must
create a "compiled" version for Classic REXX (created for example with REXXCC)
and a "compiled" version for Object REXX (created with REXXC.EXE from Object
REXX).
Then, to call your "compiled" REXX program you should use a "wrapper" program
written in REXX (Do not "compile" the wrapper program!).
The wrapper program might look as follows:
/* ------------------------------------------------------------------ */
/* sample wrapper to call a "compiled" REXX program depending on the */
/* version of the current REXX interpreter (Classic REXX or */
/* Object REXX) */
/* */
/* Note: */
/* */
/* This program assumes */
/* */
/* - the REXX program "compiled" for Classic REXX is called */
/* <name_of_this_prog>C.CMD */
/* */
/* - the REXX program "compiled" for Object REXX is called */
/* <name_of_this_prog>O.CMD */
/* */
/* - both programs are in the same directory as this program */
/* */
/* init the return code */
rc = 255
/* get the parameter */
parse arg thisParameters
/* get the name of this program */
parse source . . thisFile
progBaseName = substr( thisFile,1 lastPos( ".", thisFile )-1 )
/* check the version of the current REXX */
/* interpreter */
parse upper version thisVersion thisVersionNo
if thisVersion = "OBJREXX" | thisVersionNo > 4.00 then
do
/* current REXX interpreter is Object REXX */
"@cmd /c " progBaseName || "O.CMD" thisParameters
end /* if thisVersion = "OBJREXX" | thisVersionNo > 4.00 then */
else
do
/* current REXX interpreter is Classic REXX */
"@cmd /c " progBaseName || "C.CMD" thisParameters
end /* else */
return rc