VisualBasic Exception wird nur beim Debuggen ausgelöst.

L.o.D

Lt. Junior Grade
Registriert
Juli 2004
Beiträge
395
Ich provoziere gerade absichtlich diesen Fehler, denn es ist ja nicht erlaubt aus einem anderen Thread auf Controls zuzugreifen. Allerdings verstehe ich nicht wieso die MessageBox nur angezeigt wird wenn ich das Programm über den Debugger starte. Kompiliere ich die EXE startet das Programm und beim klick auf den Button wird keine MessageBox angezeigt sondern in der TextBox1 steht "Test" wie ist das möglich?


Code:
Option Explicit On
Option Strict On

Public Class Form1
    Private WithEvents backwk As New System.ComponentModel.BackgroundWorker

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        backwk.RunWorkerAsync()
    End Sub

    Private Sub backwk_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles backwk.DoWork
        Try
            TextBox1.Text = "Test"
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub backwk_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles backwk.RunWorkerCompleted
    End Sub
End Class
 
Ah perfekt :D

Ich setzte CheckForIllegalCrossThreadCalls = TRUE und dann kommt die Exception auch im Release :D Ich möchte nämlich das mein Programm abstürzt wenn das passiert, nur dann kann ich den Fehler suchen und beheben.

Mein Programm geht bald in die BETA Phase ein paar Mitarbeiter dürfen das Programm testen, falls jetzt eine CrossThread Exception irgendwo auftreten sollte, finde ich diese nun auch in meinem Errorlog :D Pefekt!
 
Zurück
Oben