Chipp Walters wrote:
Hey Mark,

I'm actually interfacing with a Python scripting tool already embedded
in a 3-D application. Plus it's on WinXP as well.

Your wait with messages is probably the ticket. I had thought of
something similar but discarded as I just don't know if it's
'blocking' when it's being called from within a different handler.
IOW, the original handler must stay in a suspended state until the
library returns a value and thus 'locks up' the interface. I really
don't know, guess I need to do some mock-ups.  I also need to work out
the fail-safe and error correction stuff.

I suppose I'll also need "stop it now" button which will exit the
loop, assuming the interface isn't 'Locked Up.' The button would write
a file which the library is looking for.

I was going to suggest something similar, since I had to do it once. It's a last-resort kind of thing though, because it can really crank up the CPU and is in the same precautionary category as polling the mouse. But sometimes there's no other way.

The repeat loop will block the calling handler, which is what you want. The important part is the "wait <time> with messages", which allows user input to occur simultaneously. That will allow you to put in a "stop" button. But while "wait with messages" does allow the messages to happen, it does not allow them to be acted on. They will pile up in a queue until the loop is exited. Some of them, anyway. I think some were just lost.

What I did was check for a mouseclick inside the repeat loop and if it occured, do a "click at the clickloc" and then exit the loop:

repeat until <condition: time, file exists, etc.>
  if there is a file <whatever> then
    -- do stuff
    exit repeat -- or return results here
  if the mouseclick then
    click at the clickloc
    exit repeat
  end if
end repeat

It's ugly and tempermental but it can be forced to work. I wouldn't ever use this as a first choice solution though.

--
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

Reply via email to