User Extensions/Externals
Paul D. DeRocco
pderocco at ix.netcom.com
Wed Apr 28 01:02:03 EDT 2010
> From: Graham & Heather Harrison
>
> Does this mean that using an external is not just a case of
> putting it in the appropriate library and Voila!? In that case I
> will have to look at these lessons…
I don't know what the instructions you followed said, but you need to bind
the external to your app by setting the "externals" property of a stack to
the path to the DLL or bundle. It's possible to set the property of the main
stack manually, and then save the app; when you restart the app, it will
load the external. However, for cross-platform apps the external name will
be different (foo.dll versus foo.bundle), so you have to do something a bit
uglier, typically with some code in the preOpenStack handler of your main
stack:
if "ExternalWrapper" is not among the lines of the stacksInUse then
set the name of the templateStack to "ExternalWrapper"
if the platform is "Win32" then
set the externals of the templateStack to "externals/foo.dll"
else
set the externals of the templateStack to "externals/foo.bundle"
end if
set the visible of the templateStack to false
create stack
start using stack "ExternalWrapper"
end if
This causes the name to be determined at runtime, but by then the main stack
is already loaded so you have to attach the external to a separate dummy
stack. You should also delete the dummy stack in your main stack's
closeStack handler.
At least this is how it's done in 3.5. I don't have 4.0.
--
Ciao, Paul D. DeRocco
Paul mailto:pderocco at ix.netcom.com
More information about the use-livecode
mailing list