/// <summary> /// /// </summary> /// <param name="pr"></param> /// <param name="xd2300"></param> private static void ProcessReadRecordIndex(XD2300Device xd2300, ParseResult pr) { // process read record index // UInt16 index = Convert.ToUInt16(pr.NameObjects.GetObject("RecordIndex")); // create new read record task // if (xd2300.IsLastRecordIndexValid()) { int readedIndex = xd2300.LastRecordIndex; for (int i = readedIndex + 1; i <= index; i++) { Opera readRecordOpera = xd2300.DeviceDefine.CreateOpera(XD2300OperaNames.ReadRecord); readRecordOpera.SendPart["RecordIndex"] = i; Task t = new Task(xd2300, readRecordOpera, new ImmediateStrategy()); YeHeCommuniServerApp.Default.CommuniSoft.TaskManager.Tasks.Add(t); } } else { // down // AddDownTask(xd2300); } // set new record index // xd2300.LastRecordIndex = index; }