如何 "AddHandler" 尝试从外部库中捕获事件
How to "AddHandler" trying to catch an event from an external library
我想在来自外部库的事件发生时立即调用一个函数。
我有一组相机对象(不同的相机),它们在抓取图像(外部触发)后立即创建一个事件。相机由外部库 (Basler) 定义,并且在之前的代码中定义,因此事件定义如下:
cameras(i).StreamGrabber.ImageGrabbed
我创建了一个子
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()
和 "new" 或其他的变体。
额外挑战:任何摄像机都可以引发事件,我如何在我的子系统中识别出是哪个摄像机引发的?
处理程序方法周围不应有方括号(圆括号),因此:
AddHandler cameras(i).StreamGrabber.ImageGrabbed, AddressOf (ImageGrabEvent)
应该是:
AddHandler cameras(i).StreamGrabber.ImageGrabbed, AddressOf ImageGrabEvent
sender
对象为您提供引发事件的对象
我想在来自外部库的事件发生时立即调用一个函数。
我有一组相机对象(不同的相机),它们在抓取图像(外部触发)后立即创建一个事件。相机由外部库 (Basler) 定义,并且在之前的代码中定义,因此事件定义如下:
cameras(i).StreamGrabber.ImageGrabbed
我创建了一个子
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()
和 "new" 或其他的变体。
额外挑战:任何摄像机都可以引发事件,我如何在我的子系统中识别出是哪个摄像机引发的?
处理程序方法周围不应有方括号(圆括号),因此:
AddHandler cameras(i).StreamGrabber.ImageGrabbed, AddressOf (ImageGrabEvent)
应该是:
AddHandler cameras(i).StreamGrabber.ImageGrabbed, AddressOf ImageGrabEvent
sender
对象为您提供引发事件的对象