I don't have an answer for you, but the problem may be related to something I noticed when LC 7 was released. I have automated scripts that create and/or update a series of stacks. When changes are completed to each stack, the script does this:

save stack x
close stack x
delete stack x

Prior to LC 7, the stacks would be removed from memory. In LC 7 and up, the stack is closed and removed from RAM only if the stack was newly created during that particular run. If the stack already existed on disk and was opened and updated, it does what you describe -- it closes but remains in RAM. (It remains listed in the App Browser, and "there is a stack x" returns true.) The destroyStack property on all the stacks is always false, though that shouldn't matter because an explicit command to delete the stack should work regardless.

Since it isn't a big deal for my client we've been ignoring it. But maybe that will give you a lead on how to pinpoint the problem. I suspect a bug in there somewhere.


On 10/16/16 10:47 AM, Graham Samuel wrote:
Using LC8.1.1 rc2, I’ve got a mainstack which I want to remove
entirely from my project before replacing it with a template stack of
the same name. The script to do this is in a library originating from
another mainstack. For the target stack I have set the ‘cantDelete’
to false, and the ‘destroyStack’ and ‘destroyWindow’ to true. If my
script just says

close stack “myStack”

then the stack window closes, but I think the stack is still in RAM -
at least an ‘exists’ test says so (it’s not clear from the dictionary
if ‘exists’ is supposed to work on stacks), and indeed the template
stack doesn’t replace the original. If I add another line

delete stack “myStack”

I get an error 370 (object: stack locked, or stack’s script is
executing). But it’s not locked. I don’t even know how to lock a
stack, unless it’s by setting its ‘cantDelete’ to true. There are no
‘closeStack’ handlers in the target stack.

Attempts to turn this into a simple recipe have failed, but it’s a
real problem. What I want to do (I know I’ve asked before) is to
execute the same code as the IDE does for ‘close and remove from
memory’.

Any ideas welcome.

Graham _______________________________________________ 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



--
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