1

I want to call a function as soon as an event from an external library occurs.

I have an array of camera objects (different cameras) which create an event as soon as they grab an image (triggered externally). The cameras are defined by an external Library (Basler) and were defined in the code before so the event is defined as follows:

cameras(i).StreamGrabber.ImageGrabbed

I created a sub

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

and tried to register in the main part with

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

and also tried

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

and variations with "new" or whatever.

Extra Challenge: Any camera can raise the event, how can I identify in my sub which camera did it?

4

1 回答 1

1

处理程序方法周围不应有方括号(括号),因此:

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

应该:

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

sender对象为您提供引发事件的对象

于 2016-06-17T13:02:10.203 回答