핀 패드와 통신하기 위해 현재 VB.NET 솔루션에 Florian Leitner의 HID USB library을 사용하고 있습니다. 자신의 샘플 코드에 따라, 나는 usbBuffer라는 ArrayList에 저장하는 장치에서 들어오는 응답을 처리하는 이벤트 핸들러를 설정합니다ArrayList.RemoveAt()가 작동하지 않는 이유를 알아낼 수 없습니다.
Private Sub BufferEventHandler(ByVal sender As Object, ByVal e As System.EventArgs)
If USBInterface.usbBuffer.Count > 0 Then
While USBInterface.usbBuffer(0) Is Nothing
SyncLock USBInterface.usbBuffer.SyncRoot
USBInterface.usbBuffer.RemoveAt(0)
End SyncLock
End While
_receiveArray = CType(USBInterface.usbBuffer(0), Byte())
_usbInterface.stopRead()
SyncLock USBInterface.usbBuffer.SyncRoot
USBInterface.usbBuffer.RemoveAt(0)
End SyncLock
End If
End Sub
문제는 RemoveAt을이의 첫 번째 요소 때문에, 작동하지 않는 것입니다 핸들러가 완료되면 목록이 그대로 남아 있습니다. 누군가 내가 잘못했거나 다른 접근법을 사용했는지 조언 해 줄 수 있습니까?