質問

ソリューションには2つのプロジェクトがあります。
proj aとproj Bとしましょう

Proj Aは私のカスタムイベントを持っています。また、VB.NETとProj BのRaiseEnvent関数を使用して、同じProjがそのイベントを提起しています。
Proj Bは、Proj Aのカスタムイベントのハンドラーを追加しています。

しかし、私のカスタムイベントは上昇できません。誰も私に説明することができますか?

編集:

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

最初にHandlesWipeCardRequest関数を呼び出してから、イベントを上げています。

役に立ちましたか?

解決

あなたのイベントはいつ発生します kbHook_KeyDown それが後に呼ばれると仮定して、呼び出されます AddHandler 行が実行されます。キーダウン関数が呼び出されますか? Hans Passantが言ったように、あなたはハンドルキーワードを欠いているかもしれません:

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

他のヒント

別の方法 :

AddHandler kbHook.KeyDown , AddressOf Me.kbHook_KeyDown
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top