Sunanda wrote: > Nice looking buttons!
Thanks ;-) They are temporary until I create aqua style glass buttons with a greyscale effect. > > It's them waits in the action facets. You are creating simultaneous threads > and rebol don't like that much as yet. > Ah hah.. Bad design on my part. > Check the list archives for subject "multiple threads crash". Holger wrote in > that thread: <snip> Hmm.. I am used to the VisualBasic/Access event model where i can use local static variables within event handlers to act as blocks to avoid event collisions. eg: sub event_ontimer() static busy as boolean if busy then exit sub busy = true ... event code ... busy = false end sub The waits were an attempt to stop repeated event firing - I assumed (wrongly) that the event would be locked. Of course it wouldn't be on hindsight and I would need to implement a blocker system like I traditionally do in VB/Access. As i was unsure how to apply static local variables in rebol (without building objects to store them in..) I wrongly chose to use wait. Perhaps it would just be tidier to build an object and store blocking flags for each event... > To handle that, you need a global variable that tells you if you have an > action facet running. Check it at the start of every action. Return > immediately if it is true, otherwise set it and continue. Remember to unset > it at all the return points or the whole application gets blocked. I prefer localised blockers to avoid application lockup and easier maintenance. > 2. For good user relations (and the reason for wait 0 is), the user needs a > way to cancel a long-running action. My application (which looks similar to > your, but with less snazzy buttons) has a "Cancel button". If the user clicks > that, it sets a global "stop it" variable. Long-running action facets check > for this variable at regular intervals. Hmm.. probably a good idea that - having a global die flag for action handlers. Will give it a go. Regards, James -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
