Scope Problem on Standalones

Sarah Reichelt sarah.reichelt at gmail.com
Sat Nov 26 06:31:48 EST 2005


> > I have an application that is comprised on a number of stacks.
>
> The top level stack is built into a Standalone and it calls other
> stacks (.rev files) via "start using" and "go stack" commands.
>
> When in the IDE the folder stucture is like this:
>
> BaseFolder/StartUp.rev <-- just contains a splash screen
> BaseFolder/Runtime/Stacks/StackA.rev
> BaseFolder/Runtime/Stacks/StackB.rev
> BaseFolder/Runtime/Stacks/StackC.rev
>
> StartUp.rev figures out the correct path (by using the filename of
> this stack property) and does a goto StackA.rev.
> StackA in turn does a go to StackB.rev. This all works fine under the IDE.
>
> When runnig as a standalone the folder structure is like this:
>
> MacOSX/myApp.app  <-- bundle
> MacOSX/myApp.app/Contents/MacOS/MyApp (real applicaiton)
> MacOSX/myApp.app/Contents/MacOS/Runtime/Stacks/StackA.rev
> MacOSX/myApp.app/Contents/MacOS/Runtime/Stacks/StackB.rev
> MacOSX/myApp.app/Contents/MacOS/Runtime/Stacks/StackC.rev
>

I can't  see why your soution doesn't work, but here is what I do in
similar circumstances:

In the preOpenStack handler on card 1 of stack "StackA":

on preOpenStack
    put applicationFolder(the short name of this stack) into tFolder
    set the defaultfolder to tFolder
    start using stack "StackA"
end preOpenStack

function applicationFolder pStack
    if pStack is empty then put the short name of this stack into pStack
    put the effective filename of stack pStack into tFull
    put empty into tFolder
    set the itemdel to "/"
    repeat for each item i in tFull
        if i contains ".app" or i contains ".rev" then exit repeat
        put i & "/" after tFolder
    end repeat
    return tFolder
end applicationFolder

This function is stripped down to work only with OS X. If you want a
cross-platform equivalent, let me know.

HTH,
Sarah



More information about the Use-livecode mailing list