1
Попытка адаптировать устройство для чтения карт с VB6 на vb.net. Я получаю эту ошибку после преобразования:Ошибка конвертации делегата с VB6 на vb.net
'AddressOf' expression cannot be converted to 'Integer' because 'Integer' is not a delegate type
Вот код, я использую:
Public Sub SetupCallBacks()
'UPGRADE_WARNING: Add a delegate for AddressOf OnEventDeviceStateChanged Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="E9E157F7-EF0C-4016-87B7-7D7FBBC6EE08"'
Call MTUSCRADeviceStateChangedNotify(AddressOf OnEventDeviceStateChanged)
'UPGRADE_WARNING: Add a delegate for AddressOf OnEventCardDataStateChanged Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="E9E157F7-EF0C-4016-87B7-7D7FBBC6EE08"'
Call MTUSCRACardDataStateChangedNotify(AddressOf OnEventCardDataStateChanged)
End Sub
Public Sub OnEventDeviceStateChanged(ByVal parm As Integer)
If (gbEvents) Then
If (glDeviceState <> parm) Then
glDeviceState = parm
End If
Select Case glDeviceState
Case MTSCRA_STATE_DISCONNECTED
SetStatus(("OnEventDeviceStateChanged:Disconnected"))
Case MTSCRA_STATE_CONNECTED
SetStatus(("OnEventDeviceStateChanged:Connected"))
Case MTSCRA_STATE_ERROR
SetStatus(("OnEventDeviceStateChanged:Error"))
End Select
End If
End Sub
Насколько я знаю, что нужно сделать что-то с делегатами, но я не знаю, как сделать это.
Спасибо за ответ, и это устранило эту проблему, но мой скромный опыт интернетов не понял, что использование этого метода для чтения HID требует файла DLL, который не будет использоваться в функции, к которой он будет принадлежать ... – user2620509
@ user2620509 Is 'MTUSCRACardDataStateChangedNotify' во внешней DLL? То есть определяется ли это выражением 'Declare'? В этом случае я не думаю, что этот ответ применим. – MarkJ