How to ensure that 'close stack' destroys the stack in RAM?
Mark Waddingham
mark at livecode.com
Mon Oct 17 06:39:02 EDT 2016
On 2016-10-17 11:15, Graham Samuel wrote:
> Thanks Jacque - wise words as always. The idea that the delete would
> work depending on whether the stack was newly created had not occurred
> to me, but seems like a good reason why my simplified tests didn’t
> show the problem. I will try again to create a simple demo, and
> hopefully I can file a bug report.
Thanks for the bug report
(http://quality.livecode.com/show_bug.cgi?id=18612) - I was a bit
puzzled about the situation you and Jacque described until I saw your
code.
This isn't in fact a bug, just a subtle interaction with the stackFiles
property of your 'Master' stack.
The stackFiles property maps names of stacks to filenames - it basically
means that when the engine resolves a chunk reference 'stack <name>', if
there is no stack in memory with the name <name>, then it will look
through the stackFiles property of the stacks in memory to try and
resolve it (starting with the stack of the script being executed).
Furthermore, it resolves things relative to the path to the stack
containing the stackFile line.
So, if you have a line 'DataStack -> DataStack.livecode' in the
stackFiles, and if there is a DataStack.livecode file next to the stack
containing that stackFiles line; a reference 'stack DataStack' will
*always* resolve and load the stack.
Essentially, asking whether 'stack DataStack' or not exists doesn't
work, because referencing the stack causes it to.
Warmest Regards,
Mark.
--
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps
More information about the use-livecode
mailing list