C++ and Python: how can I make it stop?
Phil Hornby
phil.hornby at accutest.co.uk
Tue Dec 30 08:28:20 EST 2003
I did something similar a while ago...
My simple solution was this:
As part of my application API I exposed a function "Stop()" in my app I had
2 threads - one that was the GUI etc and another that Python is executed
in( using PyRun_SimpleString ).
It then becomes the responsibility of the script to ensure that it calls
"Stop()" regularly to check whether it should stop executing... We defined a
structure with a script containing a function "main()" that was executed by
the main app; this function contained a simple loop checking the status -
most of the functionality we had relied on callbacks into the script's
context from other threads of execution.
eg.
import gui
def a_callback():
# do something
def main():
# do some initialisation
while not gui.Stop():
# so something
# do some shutdown
It is a fairly simple structure but it did work fairly well.
HTH
Phil
More information about the Python-list
mailing list