大家好,我正在尝试通过其自动 VB6 代码转换器将一些 VB6 代码转换为 VS 2008。大多数都很好,但也有一些需要修饰。
有人说修饰是这段代码:
InitializeGrCap = GrCapInitialize(AddressOf GrCapStatusEventHandler)
GrCapInitialize是这样的:
Public Declare Function GrCapInitialize Lib "GrFinger.dll" Alias "_GrCapInitialize@4" (ByVal StatusEventHandler As Integer) As Integer
而GrCapStatusEventHandler是:
Public Sub GrCapStatusEventHandler(ByVal pidSensor As Integer, ByVal eventRaised As Integer)
While fireStatus = True
System.Windows.Forms.Application.DoEvents()
End While
myPIdSensor = pidSensor
myEventRaised = eventRaised
fireStatus = True
While fireStatus = True
System.Windows.Forms.Application.DoEvents()
End While
End Sub
我不确定如何重写它以解决以下问题:
错误 44 'AddressOf' 表达式无法转换为 'Integer',因为 'Integer' 不是委托类型。
第二个说修饰是这段代码:
GrCapStartCapture(myIdSensor, AddressOf GrCapFingerEventHandler, AddressOf GrCapImageEventHandler)
再一次,AddressOf ...是这个错误:
GrCapFingerEventHandler:_
Public Sub GrCapFingerEventHandler(ByVal pidSensor As Integer, ByVal eventRaised As Integer)
While fireFinger = True
System.Windows.Forms.Application.DoEvents()
End While
myPIdSensor = pidSensor
myEventRaised = eventRaised
fireFinger = True
While fireFinger = True
System.Windows.Forms.Application.DoEvents()
End While
End Sub
和GrCapImageEventHandler:
Public Sub GrCapImageEventHandler(ByVal pidSensor As Integer, ByVal width As Integer, ByVal height As Integer, ByVal pRawImage As Integer, ByVal res As Integer)
While fireImage = True
System.Windows.Forms.Application.DoEvents()
End While
myPIdSensor = pidSensor
myWidth = width
myHeight = height
myRes = res
myRawImage = pRawImage
fireImage = True
While fireImage = True
System.Windows.Forms.Application.DoEvents()
End While
End Sub
再次,错误是:
错误 44 'AddressOf' 表达式无法转换为 'Integer',因为 'Integer' 不是委托类型。
谁能帮我将这两个代码区域转换为.net?