On 5/13/12 11:22 PM, dunb...@aol.com wrote:

Jacque. If I do not include a full pathname to the external in the
stack inspector, neither the IDE stack nor the standalone will
work.The external is not seen unless I go through the process form
the "external references" pane, navigating to the external.

That's probably the problem. Since the bundle isn't in the standalone, the external is being loaded from the full file path on the hard drive, which will be different on another machine.

The bundle must be copied into the standalone bundle. You can do that by manually moving it into either the MacOS folder (or the MacOS/Externals folder) after the standalone is built. Or you can use the Copy Files pane to include it, and it will go next to the engine in the bundle.

In the stack property inspector, set the externals to one of:

  myexternal.bundle
  Externals/myexternal.bundle

depending on where you put it.

Now, this will fail in the IDE, so during development you'd need to point it to your copy on disk, and then change it before building a standalone to one of the short file paths above. Because that's a hassle, I usually don't use the inspector, I use a script. You can only load externals in a preOpenStack handler, so I do this:

on preOpenStack
  if the environment = "standalone application" then
    set the externals of this stack to "myExternal.bundle"
  end if
end preOpenStack

Or use "Externals/myExternal.bundle" if you copied it there instead.

Then also put your external into the Externals folder in the My LiveCode folder (or whatever you've named it; the same one that holds your plugins) and the IDE should load the external automatically on startup. If you don't already have an Externals folder in there, create one. That way you don't need to place a reference into the stack inspector, the external will already be available globally in the IDE. If you load it that way in the IDE, and use the script to handle the standalone instance, then both bases are covered.

Yet another way is to branch the script:

if the environment = "standalone application" then
  set the externals of this stack to "myExternal.bundle"
else if the environment = "development" then
  set the externals of this stack to <full filepath to external>
end if

Hopefully something in all that will help...

--
Jacqueline Landman Gay         |     jac...@hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to