none
Eventhandling mit COM-Objekt RRS feed

  • Allgemeine Diskussion

  • Guten Tag,

     

    ich habe ein COM-Objekt, welches Events zur Verfügung stellt. Leider gelingt es mir nicht, die Events abzufangen. Kann mir vielleicht jemand weiterhelfen?

    Folgenden einfachen Code habe ich als Beispiel geschrieben:

    Class MainWindow
      'COM-Objekte deklarieren
      Dim TPRApplication As New TaiPanRTLib.TaiPanRealtime
      Dim TPRDataStream As TaiPanRTLib.DataStream
    
      Private Sub ButtonStart_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles ButtonStart.Click
        'Umwandlung des Objektes
        TPRDataStream = DirectCast(TPRApplication.DataStream, TaiPanRTLib.DataStream)
    
        AddHandler TPRDataStream.Bezahlt, AddressOf TPRDataStream_Bezahlt
    
        'Übergabe einer SymbolNr und der Art der gewollten Daten
        TPRDataStream.Add(28792740, CInt(False))
    
        '...
        'das war es doch, nun müsste das Event doch registriert sein und Ereignisse abgefangen werden
        '...
      End Sub
    
      Private Sub TPRDataStream_Bezahlt(ByVal SymbolNr As Integer, ByVal Kurs As Single, ByVal Volume As Single, ByVal Zeit As Date)
        Debug.Print(Kurs.ToString)
      End Sub
    End Class
    

    Ich hoffe, dass ich alle Informationen gegeben habe.

     

    Vielen Dank für eure Hilfe.

     

    Grüße

     

    Micha

    Montag, 11. Juli 2011 18:11

Alle Antworten

  • Hast du das schon mit der WithEvents Deklaration getestet?

    http://msdn.microsoft.com/de-de/library/7ee5a7s1(v=vs.80).aspx

     

    Freitag, 15. Juli 2011 06:40
    Beantworter
  • Ich hatte exakt das gleiche Problem. Anstelle des Events wird eine System.AgumentException ausgelöst und das Event nicht gefeuert.

    In den Properties der Reference auf die TaiPanRTLib habe ich die Property EmbedInteropTypes auf "False" gestellt. Danach werden die Events wieder normal gefeuert.

    Weitere Erklärungen zu dem Hintergrund dieser Einstellung und des Problems kann ich allerdings nicht liefern.

     

    Freitag, 22. Juli 2011 13:20
  • Guten Abend Herr Pangritz, Herr Stiefel!

     

    Vielen Dank für Ihre Antworten.

     

    @Herr Pangritz

    Die Deklaration mit WithEvents hatte ich schon vergebens versucht.

     

    @Herr Stiefel

    Ich hatte in der Zwischenzeit mit der Firma Kontakt aufgenommen, bin aber bisher noch nicht dazu gekommen, die Fehlerursache zu posten. Es ist genau wie Sie es beschreiben.

     

    Vielen Dank und einen angenehmen Feierabend.

     

    Grüße

     

    Micha

    Mittwoch, 27. Juli 2011 17:26