externals with MacOS

Ben Rubinstein benr_mc at cogapp.com
Thu Jul 4 04:35:01 EDT 2002

on 3/7/02 4:46 pm, Scott Raney at raney at metacard.com wrote:

> The CODE resource needs to be placed *in the stack file*, not in a
> separate file.  Note that this is only true for MacOS: all other
> platforms (including the Mach-O OS X engine) the external is stored as
> a separate file which is found using the "externals" property of the
> stack.

Interestingly, this means that the externals system is more flexible on
MacOS than on the other platforms (unless I've got the wrong end of the
stick) because you can put the external into a stack, and then 'start using'
that stack at any time during the life of your standalone; whereas on the
other platforms the externals are only located at startup.

This means that you can't scan a set of folders to locate the external; or
unpack it from within the stack and then start using it; etc.  (The best
I've been able to do is make a standalone that has a copy of the external as
a binary property; at startup it checks if the external has been loaded from
the subfolder where it expects it; if not, it saves a new copy out from the
binary property, throws up a dialog asking the user to launch it again, and
then quits.  Not the neatest thing in the world.)  (This is on a particular
app which we recoded in Revolution from VB, because we wanted to be able to
supply a single app and say 'use this', rather than the horrible process of
making sure all the VB and explorer DLLs are installed properly.)

If I'm wrong about this, please correct me - otherwise would it be possible
to have some specific commands to load or unload externals after launch, cf
start and stop using?  (For compatibility, on MacOS these could reference a
resource file which was not a stack file.)
  Ben Rubinstein               |  Email: benr_mc at cogapp.com
  Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
  http://www.cogapp.com        |  Fax  : +44 (0)1273-728866

More information about the Use-livecode mailing list