ActiveX and RR

Mark Wieder mwieder at
Mon Aug 9 20:00:09 CDT 2004


Monday, August 9, 2004, 2:56:46 PM, you wrote:

CW> 1) 'event trapping' or sending events back and forth across the RR boundary.

CW> 2) 'type marshalling' or converting RR strings to the appropriate 
CW> Windows API type.

These are exactly the two sticky points in creating a generic library
mechanism. It's not just ActiveX and not just (insert your own
favorite OS here)-style calls, either. I think what is necessary here
to deal with variable typing is something similar to the declaration
methods in RB or C or java - something that signals the engine that
when it comes across this external function it will need to pass a
32-bit integer or a string or whatever the function needs. Then we
need generic routines to do the argument casting.

I don't have a strong preference for the actual syntax of the
declaration statement. I *can* say that I'm not wild about having any
of the existing syntaxes tacked onto runrev, but I *am* used to using
them, as are other developers, so it may be worth putting in something
that feels comfortable to them.

CW> Interesting, in talking with Jerry Daniels and Chris about this, the
CW> very first question they had was "What do you want to do which isn't
CW> currently supported?" Ken Ray has offered some good suggestions 
CW> regarding existing ActiveX tables, grids and treeLists. But, to my
CW> knowledge, adding the full functionality of these ActiveX controls are
CW> difficult (if not impossible) both in RB and RR (and I assume Director
CW> as well).

CW> Lastly, for those who have gotten this far:-) and think of ActiveX
CW> support a 'have2have' feature, I am wondering...How much would you
CW> consider paying for it? Or would you expect it to be in the 'Enterprise'
CW> version of RR?

ActiveX is a mixed bag. My understanding is that OLE was rather
universally reviled by developers as being too arcane and hard to use,
so Microsoft renamed it ActiveX and more or less forced developers to
use it by dropping support for earlier technologies. That said,
ActiveX at least has a fairly good and well-documented discovery
process for the features it exposes.

As I've mentioned before, I think the mechanism for getting out of the
RR sandbox (not necessarily ActiveX here) is a necessity for drawing
in existing developers, at least in the Windows world. As an example,
if I'm working as part of a larger team and one group has developed a
middleware library in C that I'm supposed to interact with, I've got a
limited number of choices right now. I will probably end up spawning
an external library of functions in C as a shim between the two. I can
see the questions coming from project management now: why do we need
an extra layer of complexity? and if we have to write this layer in C
anyway, why do we need runrev in here?

-Mark Wieder
 mwieder at

More information about the use-livecode mailing list