#RexxPlus Help Needed
8 messages in this thread
I'm looking for anyone who uses or used RexxPlus that may know how to make the
rp_ libraries which are needed to incorporate any arexx *.library in a RexxPlus
program. It appears that Dineen Edwards has either gone out of business or is
no longer supporting RexxPlus.
If you know how the rp libraries are made and could provide me with some
directions, I'd appreciate it. I have one library and an ARexx host which I'd
like to use with RexxPlus, but can't until I can make an rp library for them.
They are still in business.. talked to them last week.
-mark=
Otto Pilot Engaged..
Mark,
You did???? Are they still at 313-352-4288? I've called numerous
times, left messages a couple of times, but never received a call back. I also
left Mark several messages on Bix to which he never responded. After about 3
months of trying to make a connection I sort assumed by the lack of response
that they might have disappeared. Given the state of the Amiga world, such a
conclusion isn't necessarily unwarranted!!
In fact two months ago I sent Mark a disk with several libraries and a
request for the rp libs for them. Never got a disk back or even a letter.
I had worked very closely with Mark during the beta testing to shake
out RexxPlus. I also wrote the first product review that was published on
RexxPlus, so I was quite surprised not to have heard back from Mark. That's
why I sort of thought they might have gone out of business.
I will try to contact them again, but I would appreciate if you can
confirm that they still use the above phone number.
CA's Programmer's Guide To ARexx provides sample sourcecode for a function
library. The first step would be to create a library with the same name as the
library of interest prefixed by rp – for example rpmylib.library for
mylib.library. The function list needs to be modified to include all the
function names in the library of interest. You can use a program such as
Strings to extract the function names from the original library. Finally, you
modify the dispatcher to return a boolean to indicate whether a function exists
in the table. RexxPlus takes the boolean as indicator to code a direct
reference to the target library at compile time. Note that you want to return
the boolean instead of actually calling a function as that would require you to
provide a stub for each name in the function table. With a little preplanning,
you should be able to place thefunction list in a separate module so that you
could easily create an rplibrary by linking in the function table of interest.
This would be handy if you plan to do a number of these.
Bob
Bob,
So in effect an rp library is simply a library of function "names".
When the function call is made in a RexxPlus program the compiler "calls" the
rp library. The rp library simply returns a TRUE or FALSE to indicate the
function exists or doesn't. If the "call" returns TRUE, then the compiler
opens the real library for the real function call. Seems almost as though one
could do that with an ARexx function library compiled by RexxPlus.
Is there any way to avoid the need for the rp "fake" library? I ask
because from what you have described, it would take a bit of work to do this.
I'm really not set up to create a library from scratch. I'd have to dig out a
C compiler and an assembler for all this. There must be a simpler solution????
Your description of what an rp library does is correct. The way to avoid the
need to create your own rp library is to convince Mark to do it. He probably
has some tools to simplfy the process. Early versions of RexxPlus would call
the function library directly but this proved unworkable, hence the rp
libraries. I don't know of any way around this. My own testing suggests that
the amount of speed-up using the rp libraries depends on the nature of the
application, implementation lanquage of the target library, the specific
function called , etc. You can attempt to control the search order by arranging
to have a given library appear first in the search list.
Bob,
Yes, I spent many hours on the phone with Mark during beta tests
dealing with some of the early problems of accessing the many shared libraries
and function hosts. Part of the problem was finding functions or dealing with
function names which were the same in two different libraries or problems with
the libraries returning values correctly. Even had one function host (not a
library) which had two functions which simply wouldn't work from RexxPlus,
although they worked fine otherwise. I think the rp libs were the best way
Mark could devise which imposed a certain consistency across all libraries.
Now if I could only get him to answer the phone or return my calls.
BTW, have you tried David Junod's new ZedRexx? It's a relatively easy
to use host for developing GUIs for ARexx programs. Much easier to use than
APIG and more robust than rexxarplib.
Yes I have ZEDRexx.