I have a situation where I want to close a stack and then delete it, so that it 
no  longer exists in memory and so that no naming conflicts occur when I load a 
fresh stack with the same name. This used to work - part of a script running in 
a different stack to the one being deleted:

  set the cantDelete of stack "myDataStack" to false

  set the destroyStack of stack "myDataStack" to true

  set the destroyWindow of stack "myDataStack" to true

  close stack "myDataStack" -- this should ensure that there are no messages 
operating in that stack

  delete stack "myDataStack" -- this should remove it from memory
What happens in 8.1.1 rc2 (on a Mac with El Capitan, if that’s relevant) is 
that all goes well until the ‘delete’ command, when I get error 347, which is 
“stack locked, or object’s script executing”. Well, since the stack is closed 
(this is apparent on the screen), its scripts can’t be running, and it’s not 
locked (whatever that means - the dictionary is not helpful), I don’t think the 
error is the correct one.

The problem exists both in the IDE and in the standalone version of the program.

I have two problems tracking this down: 

(a) it used to work up to LC7.x; and 

(b) an attempt to abstract the issue by repeating it with some very simple 
stacks doesn’t demonstrate the error.

Can anyone suggest an approach to debugging this?  I am totally foxed.


use-livecode mailing list
Please visit this url to subscribe, unsubscribe and manage your subscription 

Reply via email to