[email protected] wrote:
I need to understand how pending messages are stored.
But going back to the stone age, I have several "alarms" running at all,
er, times, and I have always used an "idle" handler to invoke them:
on idle
if the long time = "4:00:00 pm" then
wait 100 -- as Sarah says, make sure this only happens once
send yourMessage to whereEver
end idle
You could embellish this endlessly; case structures come to mind. I have
several library stacks always running with such handlers in them, so it
doesn't matter what working stacks might be open; the message is sent.
In general, idle handlers should be avoided. They take up lots of engine
time, and usually 99% of the time they execute, nothing happens.
Instead, Rev offers the "send <someMessage> in <time>" command that lets
you place messages in a queue, where they will execute at the time you
indicate. You can check this queue by looking at the pendingMessages
property, which is also available in its respective message box pane. By
placing an event in the queue, the engine isn't tied up needlessly by
constantly checking for something that usually doesn't have to happen.
In the example above, you could schedule a single event to take place
every day at 4 PM. Basically you'd calculate the number of seconds until
the next alarm time, and then queue the message to trigger at that time:
function getNextDueTime
get the date && "4:00 PM"
convert it to dateitems
add 1 to item 3 of it
convert it to seconds
return it - the seconds
end getNextDueTime
and in an alarm handler:
-- do alarm stuff, then retrigger next event:
send "myAlarm" to me in getNextDueTime() seconds
When the alarm goes off, your handler calculates the next due time and
inserts the new message into the pending event queue.
Pending messages are not saved between sessions, so you'll have to
reload any permanent alarms on each launch.
--
Jacqueline Landman Gay | [email protected]
HyperActive Software | http://www.hyperactivesw.com
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution