IBM OS/2 LAN Server REXX Utility DLL


Inf-HTML [About][Toc][Index] 0.9b (c) 1995 Peter Childs


Using LSRXUT.DLL in Multiple Processes


When using the 'DropLsRxutFuncs' function, other processes using the 
LSRXUT.DLL are no more able to use the functions provided by LSRXUT.DLL 
before another set of of the functions are executed: 

call RxFuncAdd 'LoadLsRxutFuncs', 'LSRXUT', 'LoadLsRxutFuncs'
call LoadLsRxutFuncs

If you are experiencing strange results, please be sure that you are not 
using the DropLsRxutFuncs function while other REXX cmd files are still 
being executed. 
In multiple processing scenarios register the LSRXUT.DLL functions once. 
You can even execute the loading of LSRXUT.DLL from any starting procedure 
on your system, and then use the functions from any other REXX procedure 
file afterwords. 
Use the 'RxFuncQuery()' to validate the presence of the LSRXUT.DLL 
funcions once in the start of your procedures. If the function you intend 
to use is absent, register all LSRXUT.DLL functions only once. 
For example: 

/* Part of REXX proecedure to Control a printer device */
if RxFuncQuery('RxSplControlDevice') <> 0 then do
 call RxFuncAdd 'LoadLsRxutFuncs', 'LSRXUT', 'LoadLsRxutFuncs'
 call LoadLsRxutFuncs
end

In the above example we want to check whether the 'RxSplControlDevice()' 
function is registered. If not, we register all LSRXUT.DLL functions by 
using the two function calls in the 'if-then' block. 
We use the same technique in WatCom Visual REXX or VisPro/REXX to register 
the LSRXUT.DLL functions only once if they are not present. We prefer 
never to use the 'DropLsRxutFuncs' function. If you have memory constrants 
on the system you are running, you can use the 'DropLsRxutFuncs' function 
to release memory. 


Inf-HTML End Run - Successful