tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
1271
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    MarcJ MarcJ ist offline Rookie
    Registriert seit
    May 2010
    Beiträge
    8
    Hallo,

    ich führe einen FileSystemWatcher in einem eigenen Thread aus. Jetzt würde ich gerne über ein Form den Status des Threads ausgeben,also eine Art Überwachung ( grün ,Thread läuft ; rot , Thread gestoppt).

    Ich bin mir allerdings nicht sicher wie ich den Status richtig überwachen kann.

    Hat da jemand eine Idee?

    Gruß
    Marc
    Geändert von MarcJ (14.05.10 um 21:05 Uhr)
     

  2. #2
    tequila slammer tequila slammer ist offline Mitglied Gold
    Registriert seit
    Aug 2006
    Beiträge
    204
    Ist ungetestet und soll nur die herangehensweise demonstrieren.

    Code :
    1
    2
    3
    4
    
    while ( thread.ThreadState == ThreadState.Running)
    {
         //grün
    }

    Ich denke es ginge auch mit

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    if(thread.isAlive == true)
    {
          //grün
    }
    else
    {
         //rot
    }
     

  3. #3
    MarcJ MarcJ ist offline Rookie
    Registriert seit
    May 2010
    Beiträge
    8
    ja das wäre so die Notlösung,dachte eventuell an ein Ereignis sobald sich der Status ändert,allerdings bin ich nicht ganz sicher wie ich das
    implementieren könnte.

    Gruß
    Marc
     

  4. #4
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Thread bietet dazu kein Ereignis an. Wieso willst du das auch überprüfen/wissen? Es sollte doch reichen zu wissen, ob der Thread per IsAlive true zurück liefert oder nicht.
     

  5. #5
    MarcJ MarcJ ist offline Rookie
    Registriert seit
    May 2010
    Beiträge
    8
    ja mein Problem ist im Moment ,dass ich den FileSystemWatcher in einem Thread gestartet habe. Jetzt würde ich in einem Form gerne anzeigen,dass die Überwachung aktiv ist.
    Mit

    Code :
    1
    
    while(Thread.isAlive == true)

    hätte ich ja das Problem ,dass das Form blockiert ist.Ich müsste also das ganze in eine Funktion packen,die ich wieder in einem Thread laufen lassen,oder?

    Eine weitere Frage: Kann ich den FileSystemWatcher ,wenn er einmal wartet abbrechen? Da dieser im Thread in den Wartezustand geht ,muss ich mit
    Code :
    1
    
    Thread.Abort()
    abbrechen,meine elegantere Lösung mit einer RequestStop Methode ist somit nämlich wohl auch hinfällig.

    Gruß
    Marc
     

  6. #6
    tequila slammer tequila slammer ist offline Mitglied Gold
    Registriert seit
    Aug 2006
    Beiträge
    204
    Wird der Watcher nur ausgeführt, wenn deine Gui gestartet ist? Warum dann die Überwachung ob er aktiv ist oder nicht? Denn schließlich sollte deine Applikation ja wissen was es startet.
     

  7. #7
    MarcJ MarcJ ist offline Rookie
    Registriert seit
    May 2010
    Beiträge
    8
    ja der wird ganz normal über einen Button gestartet,hab dann allerdings eine weitere Form auf welchem ich verschiedene Informationen sammeln will ,um einen Überblick zu geben welche Threads am laufen sind und was gerade
    in Bearbeitung ist. Darunter auch der FSW.
     

  8. #8
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Wieso arbeitest du nicht einfach mit einem Timer, der beispielsweise alle 3 Sekunden deine Threads durchgeht und überprüft ob IsAlive==true? Damit kannst du deine Anzeige realisieren und entsprechend darauf reagieren.
     

  9. #9
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Halb

    Wieso für den FSW überhaupt einen eigenen Thread? Der hat doch schon einen eigenen.
    Über das Property RaisingEvents kriegst du doch schon die Info, ob er läuft oder nicht.
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  10. #10
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Naja, vielleicht hat er einen nicht näher beschriebenen Grund, die gesamte Verarbeitung in einem eigenen Thread laufen zu lassen
     

Ähnliche Themen

  1. [C#] Aussehen einer WindowsForm
    Von DexXxtrin im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 22.02.10, 21:56
  2. Http Get? WindowsForm Problem
    Von CKS07 im Forum C/C++
    Antworten: 55
    Letzter Beitrag: 06.01.09, 12:51
  3. Frage zu C# Windowsform, Beginnerfrage
    Von hauke1981 im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 15.09.08, 19:21
  4. Anwendung mit WindowsForm und Console bei Übergabeparameter
    Von StressMaker im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 11.04.07, 10:47
  5. Linie in WindowsForm
    Von magic_halli im Forum .NET Grafik und Sound
    Antworten: 1
    Letzter Beitrag: 10.08.05, 09:19

Stichworte