Общие сведения: у меня подключил приложение оконной формы к биометрической машине посещаемости (модель ZKTeco K20). Подключение установлено, но возникла проблема с событием OnDisconncted.
У меня есть этот фрагмент кода, здесь зарегистрировано событие onDisconnected, но, к сожалению, оно не срабатывает (всякий раз, когда я выключал устройство или отключал сетевой кабель).
public bool Connect_Net(string IPAdd, int Port)
{
if (objCZKEM.Connect_Net(IPAdd, Port))
{
//65535, 32767
//if (objCZKEM.RegEvent(1, 32767))//old
if (objCZKEM.RegEvent(1, 65535))
{
//MessageBox.Show("Connect_Net");
// [ Register your events here ]
// [ Go through the _IZKEMEvents_Event class for a complete list of events
objCZKEM.OnConnected += ObjCZKEM_OnConnected;
//objCZKEM.OnDisConnected += objCZKEM_OnDisConnected;
objCZKEM.OnDisConnected += new _IZKEMEvents_OnDisConnectedEventHandler(objCZKEM_OnDisConnected);
objCZKEM.OnEnrollFinger += ObjCZKEM_OnEnrollFinger;
objCZKEM.OnFinger += ObjCZKEM_OnFinger;
objCZKEM.OnAttTransactionEx += new _IZKEMEvents_OnAttTransactionExEventHandler(zkemClient_OnAttTransactionEx);
//objCZKEM.OnAttTransactionEx += new _IZKEMEvents_OnAttTransactionExEventHandler(objServerInteraction.zkemClient_OnAttTransactionEx);
objCZKEM.OnAlarm += OnAlarm;
objCZKEM.OnNewUser += OnNewUser;
objCZKEM.OnKeyPress += OnKeyPress;
}
return true;
}
return false;
}
Остальная часть события, например OnAttTransactionEx
, выполняется нормально, но всякий раз, когда мое устройство учета рабочего времени (Zketeco) выключается, оно не запускает событие objCZKEM_OnDisConnected
. Срабатывает ли это событие при выключении устройства (автомат посещаемости)? Или я неправильно регистрирую?
OnDisConnected
не может быть запущено, когда ваше устройство выключено, оно всегда срабатывает, когда ваше устройство отключено. перед выключением вы должны отключить свое устройство, чтобыOnDisConnected
было запущено - person er-sho   schedule 30.08.2018ReadRTLog
иGetRTLog
? в цикле - person er-sho   schedule 30.08.2018OnDisConnected
? - person er-sho   schedule 30.08.2018OnAttTransactionEx
уволен или нет, когда пользователь проверен устройством - person er-sho   schedule 30.08.2018if (objCZKEM.ReadRTLog(iMachineNumber)) { while (objCZKEM.GetRTLog(iMachineNumber)) { ; } }
и включите свой таймер из окна свойств и дайте мне знать - person er-sho   schedule 30.08.2018iMachineNumber
это идентификатор вашего устройства, я думаю, что это1
в вашем случае - person er-sho   schedule 30.08.2018timer
, затем перетащите это в форму Windows, а затем напишите мой код, прокомментированный выше, вtimer1_Tick
событии таймера. - person er-sho   schedule 07.01.2019