При нажатии кнопки выходит ошибка:
Описание:
Stopped working
Сигнатура проблемы:
Имя события проблемы: CLR20r3
Сигнатура проблемы 01: cctalk.exe
Сигнатура проблемы 02: 1.0.0.0
Сигнатура проблемы 03: 591d5531
Сигнатура проблемы 04: CctalkLib
Сигнатура проблемы 05: 1.0.0.0
Сигнатура проблемы 06: 591d5530
Сигнатура проблемы 07: 7b
Сигнатура проблемы 08: c7
Сигнатура проблемы 09: System.TimeoutException
Версия ОС: 6.1.7601.2.1.0.320.65
Код языка: 1049
При нажатии на кнопку:
public void StartPoll()
{
if (_t != null)
throw new InvalidOperationException("Stop polling first");
lock (_timersSyncRoot)
{
if (!_rawDev.Connection.IsOpen())
throw new InvalidOperationException("Init first");
_t = new Timer(TimerTick, _rawDev, 50, PollPeriod);
}
}
Далее
void TimerTick(object state)
{
lock (_timersSyncRoot)
{
var buf = _rawDev.CmdReadEventBuffer();
var newEventsCount = _lastEvent <= buf.Counter ? buf.Counter - _lastEvent : (255 - _lastEvent) + buf.Counter;
_lastEvent = buf.Counter;
if (newEventsCount != 0)
{
for (int i = 0; i < Math.Min(newEventsCount, buf.Events.Length); i++)
{
var ev = buf.Events[i];
if (ev.IsError)
{
String errMsg;
var errCode = (CoinAcceptorErrors)ev.ErrorOrRouteCode;
_errors.TryGetValue(ev.ErrorOrRouteCode, out errMsg);
BeginInvokeErrorEvent(new CoinAcceptorErrorEventArgs(errCode, errMsg));
} else
{
CoinTypeInfo coinInfo;
_coins.TryGetValue(ev.CoinCode, out coinInfo);
var evVal = coinInfo == null ? 0 : coinInfo.Value;
var evName = coinInfo == null ? null : coinInfo.Name;
BeginInvokeCoinEvent(new CoinAcceptorCoinEventArgs(evName, evVal, ev.CoinCode, ev.ErrorOrRouteCode));
}
}
var eventsLost = newEventsCount - buf.Events.Length;
if (eventsLost > 0)
{
BeginInvokeErrorEvent(new CoinAcceptorErrorEventArgs(CoinAcceptorErrors.UnspecifiedAlarmCode,
"Events lost:" + eventsLost));
}
_lastEvent = buf.Counter;
}
// TODO: signal unexpected device reset, when device`s event cointer go to 0
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я вывожу в TextBlock адрес электронной почтыКак сделать, чтобы при нажатии на него открывалось окно создания нового письма?
Есть информация, добавляется во время выполнения программы в лист, нужно записать этот лист в файл, и при каждом запуске программы, этот файл...