Unlike the built-in functions, these "extra" functions are not automatically available to your script. Before your script can call some function in a DLL, you must first register that DLL's functions once. If you do not register the functions before you try to call them, then your REXX interpreter will give an error.
Reginald REXX has a LIBRARY statement that you use to register a DLL's functions. You call it as so:
LIBRARY dllnamedllname is the filename of the DLL file that contains the function. Do not put any .dll extension upon the name. For example, REXX GUI's DLL is named rexxgui.dll. (You'll need to consult the documentation with your add-on library to discover what is the name of its DLL file).
If there is a problem registering the DLL's add-on functions, then a SYNTAX condition will be raised.
After the above LIBRARY statement (and it succeeds), you can then call GuiCreateWindow (and any other REXXGUI.DLL functions) as many times as you would like.
If you require a particular version of a DLL, then you can specify that version after the library name as so:
LIBRARY dllname 0.0.0.4The above call specifies version 0.0.0.4 as the minimum version needed. For example, if version 0.0.0.6 is installed on the system, then the LIBRARY statement will succeed. If version 0.0.0.2 is installed, a SYNTAX condition is raised.
If you have several addon DLLs to load, you can do them all in one LIBRARY statement. Simply separate each DLL name (and its version number) with a comma:
LIBRARY dllname1 0.0.0.4, dllname2The above call loads dllname1.dll (minimum version 0.0.0.4) and dllname2.dll.