Quit Command corrupts standalone (stack called by standalone splash)

R.H. roland.huettmann at gmail.com
Fri Feb 23 17:33:29 EST 2018


 // Quit Command corrupts standalone (stack called by standalone splash)
Using Indy 8.1.9 desktop standalone without encryption (same problem with
earlier versions and community version), Windows 7, 8, 10, different
machines and different users of a large company. //

Before filing a bug report or sending a help request, maybe there is a help
here...

This is an urgent question as it is highly critical for the in-house
distribution of this LiveCode application to the sales team of a large
company right now.

I can not really reproduce the problem using my own machine, but it
happened on my machine, on other peoples machines, more or less often.

I developed the app using the splash stack method (small login stack that
is made to be a standalone and actual application stack in a subfolder
called). It works. At least for all users when opening the first time.

Problems appear when opening the app through the splash screen login stack
a second time after quitting. The compiled LiveCode engine of the splash
stack often enough cannot find the application stack any longer because it
is corrupted.

Analyzing the situation, I think, it seems to be a problem quitting the
standalone app resulting in a corrupt application stack (the splash screen
standalone is not affected).

In case of corruption of the application stack, I then find two visible
files in the subfolder with the original filename of the application stack,
one shows a tilde "̃̃˜" at the end of the filename (an indication of
corruption).

Currently, I do not know how to generate a detailed error report for such
standalone. I have a friend who experiences this problem each time, and
each time he wants to use my app, he then takes a fresh copy that is good
only for a 1-time-usage ))).

The quit command is sent from the application stack.

Here are the handlers in the application stack:

on closeStack
    saveAndQuit
    pass closeStack /* goes to splash stack, engine ... tested with and
without. */
end closeStack

command saveAndQuit
   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 */
   wait 100 milliseconds with messages /* does it help? Probably not. */
   unlock cursor /* Testing with or without*/
   lock messages /* Force quit. Tested with and without. */
   quit /* Should quit safely and not corrupt the stack, but stack
sometimes is corrupted */
end saveAndQuit


Any suggestions I highly appreciated.

Thanks to all
Roland



More information about the use-livecode mailing list