Problem mit Thread

06/01/2008 - 10:49 von Karsten Sosna | Report spam
Hallo NG,
ich habe ein Problem mit dem Beenden eines Threads. Ich habe eine Klasse.
Diese Klasse verfügt über eine Methode "Open". In dieser wird ein Thread
erstellt und gestartet. Dieser Thread làuft solange bis die Abbruchbedingung
erfüllt ist(Ist eine Schleife). In einem Formular erstelle ich ein Objekt
der Klasse. Jetz kann ich die Methode Open aufrufen und der Thread làuft
los. Es gibt noch eine 2. Methode "Close", damit wird die Abruchbedingung
hergestellt und der Thread beendet. Bis dahin alles kein Problem. Wenn ich
nun aber das Formular schließe ohne Close aufzurufen làuft der Thread
weiter. Ich habe in die Klasse schon IDisposible implementiert um die
Abbruchbedingung herzustellen, aber Dispose wird gar nicht aufgerufen. Erst
wenn ich im FormClosing-Event das Objekt dispose wird auch der Thread
beendet. Warum wird Dispose nicht automatisch wàhrend des Schließen des
Formulars aufgerufen?

Danke für jeden Tipp.
Gruß Scotty
 

Lesen sie die antworten

#1 Thomas Scheidegger
06/01/2008 - 10:59 | Warnen spam
Hallo Karsten

...Formular schließe ohne Close aufzurufen làuft der Thread
weiter. Ich habe in die Klasse schon IDisposible implementiert um die
Abbruchbedingung herzustellen, aber Dispose wird gar nicht aufgerufen.


Erst
wenn ich im FormClosing-Event das Objekt dispose wird auch der Thread
beendet. Warum wird Dispose nicht automatisch wàhrend des Schließen


des
Formulars aufgerufen?




deine 'Thread-Wrapper-Klasse'-Instanz ist an die Laufzeit des Threads
gebunden,
und zwar über den Delegate, den du bei Thread.Start übergeben hast!



Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen