Announcement

Collapse
No announcement yet.

Nicht jeder Code wird ausgeführt

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Nicht jeder Code wird ausgeführt

    Hallo zusammen,

    ich habe eine Frage da ich absolut nicht verstehe warum folgendes Problem auftritt.

    Ich schreibe eine Anwendung die nachdem Sie gestartet wurde den Posteingang von Outlook überwachen, und beim ankommen neuer Mails diese witerverarbeiten soll.

    Folgender Code funktioniert und beim ankommen iner neuen Mail wird die MessageBox geöffnet:

    [highlight=vbnet]
    Public Class frmBackCheck

    Private Sub frmBackCheck_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim olApp As New Microsoft.Office.Interop.Outlook.Application
    AddHandler olApp.NewMail, AddressOf Me.eventhandlerNewMail
    End Sub


    Public Sub eventhandlerNewMail()
    MsgBox("1. Meldung")
    End Sub

    End Class
    [/highlight]

    Der folgende, bis auf das auszulösende Ereignis identische Code funktioniert aber nicht:

    [highlight=vbnet]
    Public Class frmBackCheck

    Private Sub frmBackCheck_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim olApp As New Microsoft.Office.Interop.Outlook.Application
    AddHandler olApp.NewMail, AddressOf Me.eventhandlerNewMail
    End Sub


    Public Sub eventhandlerNewMail()
    lblTest.Text = ("1. Meldung")
    End Sub

    End Class
    [/highlight]

    ...und um es mit ganz einfachen Worten auszudrücken: Ich verstehe zum Teufel noch mal nicht warum!

    Habt Ihr eine Idee in welche Richtung ich diesbezüglich suchen könnte?

    Schon vorab vielen Dank & einen schönen Tag!
    Rolf

  • #2
    Der folgende, bis auf das auszulösende Ereignis identische Code funktioniert aber nicht:
    An welcher Stelle funktioniert das nicht? Form wird gar nicht erst angezeigt, Event wird nicht gefeuert, Label.Text Zuweisung zeigt keine Wirkung etc. Wenn du das noch nicht debuggt hast solltest du das tun und uns ein paar mehr Details liefern(wenn du es durch das debuggen dann nicht schon selbst aufgelöst hast).

    Comment


    • #3
      Entschuldigung, das war wirklich sehr ungenügend.

      Folgendes habe ich zur Fehleranalyse gemacht (Codeausschnitt, rest wie oben):

      [highlight=vbnet]
      Public Sub eventhandlerNewMail()
      MsgBox("1. Meldung")
      lblUnreadMails.Text = ("Label wurde umbenannt")
      MsgBox("2. Meldung")
      End Sub
      [/highlight]

      Haltepunkt bei lblUnreadMails.Text....... gesetzt.

      - Mail kommt in Outlook an
      - MsgBox 1 wird angezeigt
      - MsgBox1 wird bestätigt, Haltepunk wird ausgelöst
      - Beim ausführen der Zeile:

      [highlight=vbnet]
      lblUnreadMails.Text = ("Label wurde umbenannt")
      [/highlight]

      Erscheint im Fehlerfenster der folgende Fehler:

      Code:
      Eine Ausnahme (erste Chance) des Typs "System.InvalidOperationException" ist in System.Windows.Forms.dll aufgetreten.
      Das Label wird nicht verändert, das zweite MsgBox Ereignis wird allerdings korrekt abgearbeitet.

      Die Suche erbrachte in der MSDN einige Lösungsansätze die sich aber auf von mir nicht verwendete Techniken bezieht, andere Google Suchergebnisse waren auch nicht weiter hilfreich)

      Danke für weitere Anregungen & Sorry für den unvollständigen ersten Post.
      Rolf
      Zuletzt editiert von Rohabu; 30.09.2010, 11:46.

      Comment


      • #4
        Der Inhalt (also die Fehlermeldung) der Exception ist entscheidend was besagt die? Im Moment kann ich nur raten das da vermutlich was von Cross-Thread Operation drin stehen wird. Wenn dem so ist guckst die hier wie damit umzugehen ist.

        Comment


        • #5
          Leider ist das alles was die Meldung zu bieten hat, der Fehler taucht im Direktfenster auf, beende ich den Debugger ist aber nichts in der Fehler-/Warnungsliste.

          Nichtsdestotrotz werde ich mir deinen Link mal durchlesen, vieleicht stoße ich ja auf irgendetwas.

          Comment


          • #6
            Direktfenster
            Was ist das?

            Beim Debuggen kannst du dir z.B. ein Watch auf die Exception Variable in deinem Exceptionhandler anzeigen und dir die Message ansehen. Du hast doch ein Exceptionhandling?!? Aber es gibt auch noch Dutzende Andere Wege sich die Variableninhalte beim debuggen anzusehen.

            Wie sieht es mit deinen Debuggingfähigkeiten aus? Vielleicht solltest du dich da erstmal schlau machen. Dann sollte es ein leichtes für dich sein den Fehler zu finden.

            Comment

            Working...
            X