Quit Command corrupts standalone (stack called by standalone splash)

Phil Davis revdev at pdslabs.net
Fri Feb 23 19:19:36 EST 2018


I believe Tom is exactly right. I would restructure your two closing 
handlers like this:

local sMyFilename

on closeStack
     put the filename of me into sMyFilename
     send "quitMe" in 1 second
end closeStack

command saveMe
    lock cursor /* Tested with and without locking and showing cursor */
    set the cursor to watch
    save this stack /* auto save, takes a long time, between 10-30 secs */
end saveMe

command quitMe
    if there is a file sMyFilename then
       unlock cursor
       lock messages
       send "quitMe" to me in 0.5 seconds -- or in your preferred time
    end if
end quitMe

The above was not tested but it should solve the problem.

Phil Davis

On 2/23/18 3:20 PM, tbodine via use-livecode wrote:
> Hi Roland.
> The "~" file is the original  (uncorrupted, unsaved) version of your stack
> before LC executed your Save cmd. If you remove the "~" from the filename,
> you'll probably find you can open that. LC creates the "~" file at the start
> of the save operation and, if all goes well, removes that file when save is
> complete.
> My guess is your problem is rooted in the lengthy save time in the quit
> routine. Here are a couple ideas of how you could deal with that:
> 1) Do the save within a try/catch statement so you can deal with any error.
> 2) If you are just saving some user data like prefs or fairly minor stuff,
> then why not save that into a separate substack outside of your main
> application stack? That should greatly shorten the time it takes to save.
> Hope that helps.
> Tom Bodine
> --
> Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

Phil Davis

More information about the Use-livecode mailing list