Threading in anderem Modul

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo

    ich habe im Main-Prog. DAS stehen:

    from Scanner1 import *
    from threading import *

    FlagScanDone= Event()
    ThreadScanAllTime=Thread(target=Scanner1.ScanAllTime)
    ThreadScanAllTime.start()
    ...
    ...
    *************
    Und im Modul Scanner1.py habe ich folgende Funktion der Classe Scanner definiert:


    class Scanner():

    def ScanAllTime(self):
    FlagScanDone.set()
    ***********************************
    und erhalte die Fehlermeldung

    File "/media/4BE9-050A/Scanner1.py", line 107, in ScanAllTime
    FlagScanDone.set()
    NameError: global name 'FlagScanDone' is not defined

    Mir ist klar, dass FlagScanDone nicht definiert sein kann...nur wie mach ich das richtig. Als GLOBAL geht nicht, da ich mich ja in einem anderen Modul befinde. Wie mache ich den Event FlagScanDone im Modul Scanner1.py bekannt?

    Danke

  • Lösung gefunden, mann kann beim Aufruf des Threads die Argumente übergeben, So:

    Code
    NewThread=Thread(target=Scanner1.ScanAllTime, args=(FlagScanDone,))

    Einmal editiert, zuletzt von Rovbau (12. August 2015 um 22:28)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!