On Wednesday, December 17, 2003, at 05:14 PM, Igor Couto wrote:


Guess what?: it still DOES NOT DELETE!!!

What gives?

I feel like I'm overseeing something basic...

Any help GREATLY appreciated!

What you are overlooking is not that basic; it has to do with some subtle characteristics of the 'move' command.


I believe the 'move' command without "without waiting" and without "without messages" is like a 'wait with messages'. The move happens while execution freezes at that point. During the move the script of the handler is considered to be still executing.

However, an object in whose script a handler is executing, even nested in calls, cannot be deleted. It turns out that this happens. In this case, a button click is almost always executed in the middle of the move _command_, not just in the middle of the move process. It is as if the move command called the mouseUp.

This can also cause very strange behavior and strange delays when you have multiple objects doing this kind of thing.

Here is my recommendation: Consider changing your cycling handler to the moveStopped message and use "without waiting". The exact method depends on your goal. Here is an illustration off the top of my head and without testing:
******


local moving = "false"
local direction = "300"

on mouseUp
   startMoving
end mouseUp

on startMoving
  if not moving then
      put 300 into direction
      move me relative direction,0 in 15 seconds without waiting
      put "true" into moving
  end if
end startMoving

on stopMoving
   put "false" into moving
   stop moving me
end stopMoving

on moveStopped
  if moving then
      put - direction into direction
      move me relative direction,0 in 15 seconds without waiting
  end if
end moveStopped

*****

The delete button script would be something like this:

****

on mouseUp
   send "stopMoving" to button "animatedBtn"
   delete button "animatedBtn"
end MouseUp

****

This might take some fiddling to make work.

Note that in this style, a handler executes for only a very short time. I think that this is a good guideline for avoiding this kind of trouble.

Dar

****************************************
    Dar Scott Consulting
    http://www.swcp.com/dsc/
    Programming Services
****************************************

_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to