vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Thread anhalten/fortsetzen und sicher beenden 
Autor: keco
Datum: 12.09.08 13:33

Danke für deine Geduld und deine Hilfe! Mit dem jetzigen Code zeigt er mir im Direkfenster alles richtig an, beendet sich auch und läuft alles so, wie es soll. Allerdings gibts, wie du gerade geschrieben hast, Probleme mit dem Invoke().
   Private Sub doit()
      While Not term
         If Not halt.WaitOne(0, False) Then
            ' Hier kann der Thread etwas machen bevor er angehalten wird.
            Debug.WriteLine("Now I'm going to stop, probably")
            halt.WaitOne()
         End If
         Debug.WriteLine("Thread running")
 
         Me.tbTime.Invoke(New TimeDelegate(AddressOf RefreshTime))
 
         Thread.Sleep(500)
      End While
      Debug.WriteLine("Thread terminating")
   End Sub
So funktioniert es an sich auch, allerdings nicht, wenn ich den Thread stoppe und dann das Fenster schließe. Ich bekomme keinen Fehler/Exception oder sonst etwas, nichts. Was ich angezeigt bekomme ist folgendes:
Thread running
Thread running
Thread running
Thread running
Thread running
Thread running
Stopping thread
Now I'm going to stop, probably
Terminating
Thread running
Im Debugger bleibt die Zeile mit dem Invoke grau grundiert, dort bleibt alles stehen. Also müsste ich an der Stelle die Prüfung vornehmen? Wie mache ich die? Am Anfang, als ich einige Posts vorher die Exception erhielt, hätte ich wohl mit Me.IsDisposed überprüfen können.
Mit dem Event macht bei dem jetzigen Thread, den ich habe (aktuelle Zeit anzeigen) wenig Sinn, da er seine Arbeit ja nie erledigt hat. Aber das Event wäre dann in etwa so wie bei dem BGW und müsste ich theoretisch an der Stelle im doit nach der While auslösen?

Mit den Threads ist es wohl doch schwieriger als ich dachte...

Btw.: Ist das normal, dass ich im Direktfenster beim Beenden folgende Zeilen mehr als 6x angezeigt bekomme (habe das nicht gezählt)?:
Terminating
Application terminating
Terminating
Application terminating
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Thread anhalten/fortsetzen und sicher beenden8.790keco11.09.08 12:14
Re: Thread anhalten/fortsetzen und sicher beenden5.700ModeratorDaveS11.09.08 13:45
Re: Thread anhalten/fortsetzen und sicher beenden5.950keco11.09.08 14:24
Re: Thread anhalten/fortsetzen und sicher beenden5.275ModeratorDaveS11.09.08 14:30
Re: Thread anhalten/fortsetzen und sicher beenden5.190keco11.09.08 14:34
Re: Thread anhalten/fortsetzen und sicher beenden5.180keco11.09.08 14:42
Re: Thread anhalten/fortsetzen und sicher beenden6.093ModeratorDaveS11.09.08 15:28
Re: Thread anhalten/fortsetzen und sicher beenden5.017ModeratorDaveS11.09.08 17:31
Re: Thread anhalten/fortsetzen und sicher beenden5.052keco12.09.08 12:01
Re: Thread anhalten/fortsetzen und sicher beenden5.118ModeratorDaveS12.09.08 12:49
Re: Thread anhalten/fortsetzen und sicher beenden4.971ModeratorDaveS12.09.08 13:09
Re: Thread anhalten/fortsetzen und sicher beenden5.373keco12.09.08 13:33
Re: Thread anhalten/fortsetzen und sicher beenden5.052ModeratorDaveS12.09.08 14:21
Re: Thread anhalten/fortsetzen und sicher beenden5.013keco12.09.08 15:11
Re: Thread anhalten/fortsetzen und sicher beenden5.146ModeratorDaveS12.09.08 15:22
Re: Thread anhalten/fortsetzen und sicher beenden5.031keco12.09.08 15:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel