Привет всем, я пытаюсь преобразовать некоторый код VB6 в VS 2008 с помощью его автоматического конвертера кода VB6. Большинство из них хорошо, но есть несколько, которые нуждаются в подкраске.
Один сказал, что ретушь — это фрагмент кода:
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» не является типом делегата.
Может ли кто-нибудь помочь мне преобразовать эти 2 области кода в .net?