[Python/C API] How to break a script execution ?
Mark Hammond
mhammond at skippinet.com.au
Thu Jan 16 20:19:58 EST 2003
Misiek wrote:
> Hello everybody,
>
> I have written a MFC application that allows to run Python's scripts with
> using Python/C API. All works perfectly, but I don't know how to break a
> script execution on demand (something like pressing Ctrl+C in Python).
> Suppose I have a script that simply execute an endless loop and I would like
> to stop it execution by clicking a button in my application and then dump to
> my application an iteration count. Here is an example script:
>
> def main():
> try:
> i = 0
> while 1:
> i = i + 1
> except KeyboardInterrupt:
> print "Iteration: ", i
>
> main()
>
> Is there any possibility to break a script execution from my application and
> catch the exception? How to do it? I would be grateful for any
> suggestions...
Pythonwin is just an MFC app that embeds Python <wink>. I discovered
that raising an exception from a different C thread generally had the
desired results. The only way I could manage a seperate thread was a
seperate Window - once this was a real top-level window, but now we have
the taskbar icon.
Mark.
More information about the Python-list
mailing list