Frage

Ich habe 2 Projekt in meiner Lösung.
Sagen wir proj a und proj B.

Proj A hat meine benutzerdefinierte Veranstaltung. Das gleiche Proj erhöht dieses Ereignis mit der RaiseEvent -Funktion von VB.NET und Proj B hat Referenz von Proj A.
Proj B fügt Handler für die benutzerdefinierte Veranstaltung von Proj A hinzu.

Aber meine individuelle Veranstaltung kann nicht erhöhen. Könnte mich jemand erklären, wie ich das tun kann?

Bearbeiten:

Proj a

Public Shared Event cardReadComplete(ByVal data As String)
 Public Sub kbHook_KeyDown(ByVal Key As Windows.Forms.Keys) 
  IO.File.AppendAllText("E:\log.log", Key.ToString() & vbCrLf)
 RaiseEvent cardReadComplete(encryptedData)
End Sub

Proj b

 Private Sub handleSwipeCardRequest(ByVal msgText As String)
        AddHandler CardReader.Main.cardReadComplete, AddressOf sendSwipeCardDetails
        CardReader.Main.cardReadComplete()
End Sub

Ich rufe zuerst HandlesWipeCardRequest -Funktion an und erhöhe dann seine Veranstaltung.

War es hilfreich?

Lösung

Ihre Veranstaltung wird angesprochen, wenn kbHook_KeyDown wird angerufen, vorausgesetzt, es wird nach dem angerufen AddHandler Zeile wird ausgeführt. Sind Sie sicher, dass die Schlüsseldown -Funktion aufgerufen wird? Wie Hans Passant sagte, fehlt Ihnen möglicherweise ein Schlüsselwort für Handles:

Public Sub kbHook_KeyDown(ByVal Key As Windows.Forms.Keys) Handles kbHook.KeyDown
    ...
End Sub

Andere Tipps

Ein anderer Weg :

AddHandler kbHook.KeyDown , AddressOf Me.kbHook_KeyDown
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top