2016-06-17 7 views
1

外部ライブラリからのイベントが発生するとすぐに関数を呼び出したいと思います。外部ライブラリからイベントをキャッチしようとする "AddHandler"の方法

私は、(外部からトリガーされた)イメージをつかむとすぐにイベントを作成するカメラオブジェクトの配列(異なるカメラ)を持っています。カメラは、外部ライブラリ(バーゼル)によって定義され、以下のようにイベントが定義される前に、コード内で定義された:

cameras(i).StreamGrabber.ImageGrabbed 

Iサブ

Sub ImageGrabEvent(sender As Object, e As EventArgs) 
    MsgBox("Aha") 
End Sub</code> 

を作成しに登録しようとしました

AddHandler cameras(i).StreamGrabber.ImageGrabbed, AddressOf (ImageGrabEvent) 

また

AddHandler cameras(i).StreamGrabber.ImageGrabbed, ImageGrabEvent() 
を試みたと本体部210

と「新しい」などとのバリエーション。

余分なチャレンジ:どのカメラでもイベントを起こすことができます。サブカメラでどのカメラを識別できますか?

AddHandler cameras(i).StreamGrabber.ImageGrabbed, AddressOf (ImageGrabEvent) 

は次のようになります:

+0

あなたが試みた最初の選択肢であるに違いありませんが、括弧はありません。 'AddressOf ImageGrabEvent'です。そして、送信者は、どのオブジェクトがイベントを起こしたかを教えてください。 –

答えて

1

あなたはので、これはハンドラメソッドの前後にブラケット(括弧)を持つべきではない

AddHandler cameras(i).StreamGrabber.ImageGrabbed, AddressOf ImageGrabEvent 

senderオブジェクトがあなたのイベントを発生させたオブジェクトを与える

+0

正解!もう一つのエラーがありました:Main Subが共有として宣言され、AddHandlerを宣言している間にエラーが発生しました –

関連する問題