Seite 1 von 1

thread beenden, ganz dumme frage

Verfasst: Mittwoch 16. November 2005, 13:48
von Buell
Mal ne ganz blöde Frage (die einfachsten Dinge sind meist am schwersten zu finden):

also folgendes Beispiel:

Code: Alles auswählen

        start_new_thread(self.ConnectEvent,())

    def ConnectEvent(self):
        self.eventHandler = ContextEvents(self.context)
        while 1:
            pythoncom.PumpWaitingMessages()

class ContextEvents(win32com.client.getevents("SAPI.SpSharedRecoContext")):

    def OnRecognition(self, StreamNumber, StreamPosition, RecognitionType, Result):
        newResult = win32com.client.Dispatch(Result)
        connect.OnRecognition(newResult.PhraseInfo.GetText())
... startet einen Thread und führt einen win32com Eventhandler aus. Problem ist der Thread wird nie geschlossen und führt beim Beenden des Programmes zu einer Fehlermeldung. Ist zwar generell nicht schlimm aber unschön. Also der Thread soll irgendwann geschlossen werden, wie mach ich das? Könnte ohne weiteres ne Methode einbauen die das macht, aber wie...

Verfasst: Donnerstag 17. November 2005, 01:32
von BlackJack
Üblicherweise führt man ein "Flag" ein, das in der Schleife getestet wird und das man dann bei Bedarf auf `False` setzt und damit die Schleife beendet.