This is driving me nuts. My ambition is to remove a stack from memory and therefore from the message path, prior to reloading a fresh (template) version of the same stack. I don't want two versions of the same stack in the machine at one time - and in fact LC makes this illegal. This seems a very simple idea but somehow I have messed it up. I need help.
After lots of experiments, I have made a very simple pair of stacks, as follows. The first stack, 'Killer', is just a mainstack with one card and two buttons, one which loads the second stack ('DataStack') and one which destroys the data stack. The loading (opening) button works, and I can see the loaded stack in the IDE's Application Browser. The script of the second button consists of just this: on mouseUp if exists(stack "dataStack") then answer "deleting" && (the short name of stack "dataStack") & "; destroyStack is" && (the destroyStack of stack "dataStack") & "; cantDelete is" && (the cantDelete of stack "dataStack") delete stack "dataStack" -- this is supposed to guarantee the removal from RAM answer "the existence of the stack is now" && (exists(stack "dataStack")) else answer "can't find the data stack" end if end mouseUp when I execute this, the first 'answer' reveals that the destroyStack is true and the cantDelete is false, but after the delete, the second answer confirms that stack still exists! I can also continue to access it from the IDE's App Browser. If I use 'close' instead of 'delete', I get the same result. I also notice that an attempt to invoke the IDE's 'Close and Remove from Memory' menu doesn't work either - I get the warning dialog but the stack doesn't go away. This menu item works for me in other apps, even with this version of LC (5.5.4 on a Mac). I have no idea what new factor I have introduced. I have often restarted LC as part of this experiment, so it's not some bit of ragged code in the IDE. I tried making my KIller stack into a standalone, and although the window of the data stack closes, its existence is still reported as 'true'. I tried using 'close' instead of 'delete', but the behaviour seems the same. Can anyone explain this? This is probably just a consequence of 'developer fatigue', but I can't see it. TIA 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