Anderes Problem mit meinem Bot...

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Mangafreak1995.

    Anderes Problem mit meinem Bot...

    Nu, das Knöpfchenproblem wurde nun geklärt. Eine Anweisung war zu viel, die nicht ausgeführt werden konnte

    ALLERDINGS! Kann man die Knöpfe nun klicken, nur... Es passiert einfach nix. Er hat ein Problem mit den Threads, die er einfach nicht ausführen möchte. Nur stellt sich mir die Frage, wieso? Dass die Threads veraltet sind, bringt mir in der Sache auch nicht viel.

    Ein Beispiel von Thread + jeweilige Funktion & Event

    VB.NET-Quellcode

    1. Private LikeThread As New System.Threading.Thread(AddressOf LikeVideo)
    2. Private Sub LikeVideo(ByVal Link As String)
    3. Try
    4. LikeThread.Interrupt()
    5. LikeThread.Join()
    6. Catch ex As Exception
    7. End Try
    8. Try
    9. Dim LikeCounter As Integer = 0
    10. For i = 0 To txtUseUser.Text - 1
    11. If LoginUser(Usernames(i), Passwords(i)) = Nothing Then
    12. AddHistory("Login fehlgeschlagen: " & Usernames(i) & ":" & Passwords(i))
    13. Else
    14. Dim Vid As Video = GetVideo(Link)
    15. 5:
    16. AddHistory("Login erfolgreich: " & Usernames(i))
    17. Try
    18. Vid.Rating = 5
    19. Request.Insert(Vid.RatingsUri, Vid)
    20. AddHistory("Video """ & Vid.Title & """ liked mit dem User " & Usernames(i) & ".")
    21. LikeCounter += 1
    22. Catch ex As Exception
    23. End Try
    24. End If
    25. Next
    26. AddHistory("Liken abgeschlossen. Anzahl: " & LikeCounter & ".")
    27. LikeThread.Abort()
    28. Catch ex As Exception
    29. End Try
    30. End Sub
    31. Private Sub cmdLike_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLike.Click
    32. Try
    33. LikeThread.Start(txtLink.Text)
    34. Catch ex As NullReferenceException
    35. ErrorOccurred(ex)
    36. Catch ex As Threading.ThreadStateException
    37. Catch ex As Exception
    38. LikeThread.Resume()
    39. End Try
    40. End Sub


    Ich bekomme die Warnung bei LikeThread.Resume

    Quellcode

    1. Public Sub Resume() ist veraltet: Please use other classes in System.Threading (abgekürzt halt..)


    jemand ne' idee?
    Auf msdn.microsoft.com/de-de/libra…tem.threading.thread.aspx steht ja was :
    Resume() | Veraltet. Nimmt die Ausführung eines angehaltenen Threads wieder auf.
    Start() | Weist das Betriebssystem an, den Zustand der aktuellen Instanz in ThreadState.Running zu ändern.
    Reicht das nicht ?
    Hey Manga,
    danke erstmal für deinen Link, hat mir sehr weitergeholfen, da noch andere Threads veraltet waren.

    Ich hab nun .Resume() zu .Start() und .Suspend() zu .Sleep(2000) abgeändert...

    Trotzdem klappt's nicht.

    Ich bekomme ne Warnung, die das Debuggen unterbricht, wenn ich die Videoinformationen auslesen will:
    "Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement cmdGetVideoInfo erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde."

    Code:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub cmdGetVideoInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGetVideoInfo.Click
    2. bgwVideoInformation.RunWorkerAsync()
    3. End Sub
    4. Private Sub bgwVideoInformation_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgwVideoInformation.DoWork
    5. [color=#ff0000]cmdGetVideoInfo.Enabled = False // WARNUNG[/color]
    6. If txtLink.OuterBorderColor = Color.Green Then
    7. Try
    8. Dim Vid As Video = GetVideo(txtLink.Text)
    9. Dim Views As Integer = Vid.ViewCount
    10. lblTitle.Text = "Titel: " & Vid.Title
    11. lblUploader.Text = "Uploader: " & Vid.Uploader
    12. lblViews.Text = "Aufrufe: " & String.Format("{0:0,0}", Views)
    13. pThumb1.Image = ImageFromWeb(Vid.Thumbnails(0).Url)
    14. pThumb2.Image = ImageFromWeb(Vid.Thumbnails(1).Url)
    15. pThumb3.Image = ImageFromWeb(Vid.Thumbnails(2).Url)
    16. Catch
    17. End Try
    18. End If
    19. End Sub


    Desweiteren funktionieren die Buttons zum Liken etc. immer noch nicht, ich bekomme dort (sobald die Buttons gedrückt sind):
    "Eine Ausnahme (erste Chance) des Typs "System.Threading.ThreadStateException" ist in mscorlib.dll aufgetreten."

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „xSkyterCoder“ ()

    Dann solltest du dich über Threading informieren, dann passiert das nicht ein weiteres Mal. Stichwort Invoke