Performing the clean up in preOpenStack makes it happen before the stack is 
visible, at least according to the dictionary.

"Unlike openStack <>, preOpenStack handlers <> are executed <> before the stack 
window <> appears. Because of this, the preOpenStack handler <> is a good place 
to put code that adjusts the size, position, and appearance of objects <>; the 
changes are made before the stack <> appears."

My experience is that this is true.


Tore

> 4. feb. 2021 kl. 23:43 skrev Bob Sneidar via use-livecode 
> <use-livecode@lists.runrev.com>:
> 
> Thanks for the response Curry and Tore. 
> 
> The reason I clean up at close is because when I open the stack the next time 
> I do not want to remains of what I was doing before to show. It’s a small 
> point but it look cleaner if the first time opening the stack there is 
> nothing in the fields. All attempts to hide the stack then clear it before 
> making it visible have been iffy. 
> 
> I guess what I need is a message or series of messages that get generated 
> BEFORE the stack is closed. 
> 
> I have this in the only card in my stack: 
> 
> on closeStackRequest
>   resetMainForm
>   save this stack
>   pass closeStackRequest — this has a breakpoint
> end closeStackRequest
> 
> I have a breakpoint on the pass statement. When clicking the red dot I get 
> asked if I want to save the stack. For whatever reason, for me the 
> closeStackRequest is NOT getting sent to the current card! 
> 
> Bob S
> 
> 
>> On Feb 4, 2021, at 1:23 PM, Curry Kenworthy via use-livecode 
>> <use-livecode@lists.runrev.com> wrote:
>> 
>> 
>> Bob:
>> 
>>> I am trying to clean up my stack (i.e. clear the fields),
>>> then save it when I close it
>> 
>> This is a good topic for LiveCode learners; I'm chiming in....
>> 
>> I often do something similar - but with an important difference:
>> I perform cleanup when I save. I do NOT force an auto save.
>> (More on that later.)
>> 
>>> BY ANY MEANS. That means by script, by menu OR by clicking the red dot
>>> (of for WIN users the red X) in the title bar.
>>> I need this to work in the IDE as well as in standalone.
>> 
>> So, let's halt at this point and take inventory of your desires!
>> You want to trap at least 3 methods of initiating a close action.
>> (Tally: 3)
>> 
>> Furthermore, IDE versus Standalone is an extra complexity.
>> I don't like that, but it is the unfortunate reality.
>> So I'm accounting for that extra complexity via a "+" designation!
>> (Tally: "3+")
>> 
>> Now jumping ahead a bit to make a connection:
>> 
>>> If I use “CloseStack” instead
>> 
>> Remember our tally of "3+" Actions?
>> The word "instead" suggests you're assuming a SINGLE trap.
>> 
>> Everyone here should know my KISS philosophy: less is better.
>> 3 birds with one stone is superior; I'm always harping on that.
>> But then again, in this case you have 3+ birds! :)
>> 
>> I'd hazard a guess on 2 traps - that's my experience for similar cases.
>> (But if one will work, use one.)
>> 
>>> You would think closeStackRequest gets sent when I
>>> click the red dot or X. You would be mistaken.
>> 
>> Actually I would NOT be mistaken, as long as we're talking about the X,
>> and the stack has been named/saved at least once. Just tested it!
>> 
>> But among the "extra complexity" I mentioned, if the stack is dirty,
>> the IDE will trap the close action at the front, BEFORE you get it.
>> It can still fire, but AFTER you dance around a bit with the IDE.
>> (Important to note that's the IDE; closeStackRequest does respond.)
>> 
>> To succeed in the IDE, you may indeed need to use closeStack.
>> But that's probably "with" not "instead" of closeStackRequest!
>> 
>> We can still follow KISS and avoid duplicating code,
>> via modularity - the 2 traps can call a common set of code.
>> Using params or other means to handle the differences in the 2/3 cases.
>> 
>>> I just want it to be saved. I can force quit if I mess something up.
>> 
>> I DISCOURAGE using a custom auto-save and resorting to force quit.
>> If you implement an auto-save, do it very well.
>> (And done well, a force-quit would not likely be Plan A for reverting.)
>> 
>> But I encourage cleanup when saving or when closing. I do it constantly.
>> It just requires a set of trap(s) that does spring for the 3 actions.
>> You're half way there, just think "AND" not "instead" to finish it!
>> 
>> Best wishes,
>> 
>> Curry Kenworthy
>> 
>> Custom Software Development
>> "Better Methods, Better Results"
>> LiveCode Training and Consulting
>> http://livecodeconsulting.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
> 
> _______________________________________________
> 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

_______________________________________________
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