DLL Absence
Alex Rice
alrice at ARCplanning.com
Thu Aug 7 11:37:01 EDT 2003
On Wednesday, August 6, 2003, at 07:26 PM, jleddy wrote:
> Makes me feel like the small business edition is the no-business
> edition.
No, it is not a conspiracy to get you to buy the Enterprise license, if
that is what you are asking.
The Externals SDK was included with Rev 1.x, but mysteriously
disappeared from 2.0.x. It's not a problem; as someone mentioned it's
still available from metacard.com (metacard is the run-time engine that
rev uses). That SDK works with Rev 1.x and 2.x. I second Monte's guess
they yanked it because it was pretty confusing and without any
documentation yet.
re: your choices. I know C, Objective-C, (some) C++ and Java but my
productivity is just off-the-scale when I'm using Revolution as opposed
to those other languages!
> Really need the format for DLL's, shared libs, etc. Don't have a lot
> time to waist on this.
>
Whether it's a waste of time depends on what you expecting in regards
to "format for DLL's, shared libs, etc.".
If having instant, seamless access to dlls and shared libraries is your
primary requirement then Rev is not your best choice. There are
obviously other benefits Rev can bring to the table though.
Learning to write externals requires a lot of patience and research, in
my experience. But the payoff is well worth it. I have written an
external for the CLIPS expert system to be used from Rev. It's about a
dozen functions and commands, and works very well.
Recently someone wrote an external to control WinAMP or some other
player software. It took them about 1 day to research how to write the
external and do it. Probably only 1 or 2 functions. That was very fast.
It look me a lot longer to write mine.
Rev cannot use just any-old DLL or shared library without some work.
Say you have xyz.dll. You have to write a small external.dll that is
glue between some transcript commands and the objects in xyz.dll.
Here is a post I made last week to this list:
----
Hi, I am not an expert at writing externals, but I have been in the
same boat as you recently. Information on writing externals is very
scarce. Here are some suggestions:
1) The "External SDK": look at external.c mainly. This is your primary
reference. It's not commented very well so you gotta guess what's going
on. Look at the associated .rev stack. It has two apps in the external:
Game of Life, and Image Compositing. Why it's not included with RR 2.0
I would like to know.
2) Post questions to this mailing list. A few people here have been
coding externals in C for years.
3) _Hypertalk Script Language Guide_ by Apple Computer, in Appendix A,
has the closest thing I can find to a documentation of the externals
API. The calling interfaces are changed, but the function names are the
same. Unfortunately there are more Pascal examples than C examples.
4) RR said a tutorial on writing externals is in the works. Right RR
:-)?
5) So web searches for XFCN and XCMD. XFCN stands for "external
function", a transcript function handler that's implemented in native
code. XCMD is "external command" or a transcript command handler that's
implemented in native code.
Hope this helps,
Alex Rice, Software Developer
Architectural Research Consultants, Inc.
http://ARCplanning.com
More information about the use-livecode
mailing list