Interrupting execution of PyRun_SimpleScript()

2005-04-26 Thread stephan
Hi,

Im am using PyRun_SimpleString() inside a BCB 5.0 GUI app
on win32.

All works fine.

The PyRun_SimpleStript() runs a piece of python
code which calls often a callback function to
refresh my gui App so my Form still can react
to user input.

Now, I would like to implement a possibility
to interrupt the execution.

For this I have a button called "stop", and when
the user executes it, I generate an exeption by
calling:
PyRun_SimpleString("raise KeyboardInterrupt\n").

I see in the window where I redirected stderr and stdout
the exception, but the original code (a for loop)
still continues to run.

Does there somebody have some idea (in the Python FAQ
i didnT find anything)

Thanks

 Anton
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Interrupting execution of PyRun_SimpleScript()

2005-04-30 Thread Andrew Dalke
A few days ago stephan wrote:
> Im am using PyRun_SimpleString() inside a BCB 5.0 GUI app
> on win32.

Never used it so can only offer a suggestion.
 
> For this I have a button called "stop", and when
> the user executes it, I generate an exeption by
> calling:
> PyRun_SimpleString("raise KeyboardInterrupt\n").

The fact that your GUI can call SimpleString implies
to me that Python is running with multiple threads.
The string is executed in a different thread from your
other thread.  The exception isn't being called from
the right thread.  Instead it's caught by the top-level
exception handler for the GUI, which reports the error.

Is it possible to put an explicit "check this variable
and if it's true then abort" in your time-intensive code?

Andrew
[EMAIL PROTECTED]

-- 
http://mail.python.org/mailman/listinfo/python-list