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
thread problem 
Autor: rtaucher
Datum: 02.11.06 12:58

hallo!

habe ein ziemliches problem mit einem thread:
'Definition
Public Shared ThreadSubscribe As Threading.Thread
 
'Start des Threads über Timer
    Private Sub IBTimer_Tick(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles IBTimer.Tick
        If MMI.Menueleiste.ThreadSubscribe.ThreadState = _
        MMI.Menueleiste.ThreadSubscribe.ThreadState.Running Then
            MMI.Menueleiste.ThreadSubscribe.Abort()
        End If
        MMI.Menueleiste.ThreadSubscribe = New Threading.Thread(AddressOf _
          MMI.Menueleiste.SubcribeThread)
        MMI.Menueleiste.ThreadSubscribe.Start()
    End Sub
 
'Funktion des Threads
    Public Shared Sub SubcribeThread()
        MMI.Infobroker.Infobroker_Subscribe_Start("top", "optimat.idle")
    End Sub
so, das Problem dabei ist folgendes, daß er mir in dieser Zeile:
        If MMI.Menueleiste.ThreadSubscribe.ThreadState = _
          MMI.Menueleiste.ThreadSubscribe.ThreadState.Running Then
mit einer NullReferenz aussteigt?!?

Was ist da falsch?

Danke!

mfg
rt

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: ModeratorDaveS (Moderator)
Datum: 02.11.06 13:12

Das erste Mal wird's schon Null sein, oder?

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: rtaucher
Datum: 02.11.06 13:14

ok, hast recht, daran hab ich nciht gedacht...
wie könnte ich das umgehen?

mfg
rt

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: ModeratorDaveS (Moderator)
Datum: 02.11.06 13:16

If blahblas IsNot Nothing AndAlso ... Then

(z.B.)

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: rtaucher
Datum: 02.11.06 13:42

If MMI.Menueleiste.ThreadSubscribe.ThreadState isNot Nothing And MMI.Menueleiste.ThreadSubscribe.ThreadState = MMI.Menueleiste.ThreadSubscribe.ThreadState.Running Then

funktioniert aber nicht...

mfg
rt

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: Moderatorralf_oop (Moderator)
Datum: 02.11.06 13:50

Dave sagte AndAlso und nicht And

If MMI.Menueleiste.ThreadSubscribe.ThreadState isNot Nothing AndAlso _
  MMI.Menueleiste.ThreadSubscribe.ThreadState = _
  MMI.Menueleiste.ThreadSubscribe.ThreadState.Running Then

Ralf

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: rtaucher
Datum: 02.11.06 13:52

da hab ich dann den fehler:
"erwarte end of Anweisung".....

habe fw1.1

mfg
rt

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: ModeratorDaveS (Moderator)
Datum: 02.11.06 14:01

Du musst das Threadobjekt prüfen, nicht sein Property.

If MMI.Menueleiste.ThreadSubscribe IsNot Nothing AndAlso _
  MMI.Menueleiste.ThreadSubscribe.ThreadState = _
  MMI.Menueleiste.ThreadSubscribe.ThreadState.Running Then
oder vielleicht übersichtlicher
If MMI.Menueleiste.ThreadSubscribe IsNot Nothing Then
    If MMI.Menueleiste.ThreadSubscribe.ThreadState = _
      MMI.Menueleiste.ThreadSubscribe.ThreadState.Running Then
        '...
    End If
End If

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: rtaucher
Datum: 02.11.06 14:03

dann bekomme ich folgende fehlermeldung:
E:\Firma\RGB-Fine-Grain\MMI\MMI.vb(4350): Der Wert des Typs "System.Threading.Thread" kann nicht zu "Boolean" konvertiert werden.

mfg
rt

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: ModeratorDaveS (Moderator)
Datum: 02.11.06 14:13

Dann hast du etwas anderes geschrieben. Ohne deine Namespaces nachzuprogrammieren

    Public Shared ThreadSubscribe As Threading.Thread
 
    Private Sub IBTimer_Tick(ByVal sender As System.Object, ByVal e As _
      System.EventArgs)
        If ThreadSubscribe IsNot Nothing AndAlso ThreadSubscribe.ThreadState = _
        System.Threading.ThreadState.Running Then
            ThreadSubscribe.Abort()
        End If
    End Sub
ist alles in Ordnung. Du solltest übrigens die Threading.ThreadState Enum benutzen und nicht das Threadobjekt für solchen Shared Member Zugriff.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: rtaucher
Datum: 02.11.06 14:16

das funktioniert leider nicht...
habs jetzt direkt von hier kopiert, haut net hin

mfg
rt

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: ModeratorDaveS (Moderator)
Datum: 02.11.06 14:28

Was heisst "haut nicht hin"? Der Code ist so weit richtig, was du daraus machst weiss ich nicht. Kannst du deinen vagen Begriff bitte genauer erklären?

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: rtaucher
Datum: 02.11.06 14:33

er gibt mir noch immer die gleiche fehlermeldung wie vorhin schon gepostet aus (sprich, ich kann nciht einmal kompilieren)...

mfg
rt

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: ModeratorDaveS (Moderator)
Datum: 02.11.06 14:43

Welche .Net Version hast du? Mit VS2003 gibt's keinen IsNot Operator. Vielleicht liegt's daran. Dann musst du If Not blah Is Nothing AndAlso... schreiben.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: rtaucher
Datum: 02.11.06 15:14

das is es...
werds gleich mal probieren...

danke!

mfg
rt

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: rtaucher
Datum: 03.11.06 07:53

noch eine frage:
was ist eigentlich der unterschied zwischen AND und ANDALSO ?

ich habe bis jetzt eigentlich nur immer AND (bzw. OR usw.) als logische operatoren verwendet....

danke!

mfg
rt

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: ModeratorDaveS (Moderator)
Datum: 03.11.06 08:59

AndAlso und OrElse unterscheiden sich von And und Or indem bei den ersten die Ausdrücke der Reihe nach ausgewertet werden, und abgebrochen wird wenn schon klar ist, dass das ganze Falsch bzw Wahr sein muss. Bei And und Or dagegen werden immer alle Ausdrücke ausgewertet. In deinem Fall führt das bei And unverweigerlich zu einer Exception wenn die Objektreferenz Nothing ist, weil immer versucht wird im zweiten Ausdruck das Objekt anzusprechen.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: rtaucher
Datum: 03.11.06 09:20

danke für die info!

mfg
rt

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: thread problem 
Autor: ModeratorDaveS (Moderator)
Datum: 03.11.06 09:26

Ausserdem hätte ich erwähnen sollen, dass And und Or boolische Operationen mit den Bit-Werten sind. Das ist hier nicht so relevant, aber so kann man Bits manipulieren, nicht aber mit AndAlso und OrElse.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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