/// <summary> /// сохранить таблицу калибровки в устройство /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void вУстройсвоToolStripMenuItem_Click(object sender, EventArgs e) { if (currentState.SelectedCalibrationTable == null) { MessageBox.Show(this, "Не загруженна конфигурация калибровочных параметров", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (currentState.SelectedCalibrationTable.CalibrationTable == null) { MessageBox.Show(this, "Не загруженна таблица калибровки", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } bool blocked = false; try { if (packetSyncMutex.WaitOne(defaultTimeWaitOnPacketMutex)) { blocked = true; biosTranslated = true; blocked = false; packetSyncMutex.ReleaseMutex(); } else { MessageBox.Show(this, "Не удается сохрать таблицу калибровки" + Constants.vbCrLf + "Причина: очень энтенсивный обмен данными", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } SaveForm saver = new SaveForm(bios, currentState); if (!currentState.PacketsTurnOn) { currentState.PacketsTurnOn = true; TurnOnPackets(null, null); } saver.ShowDialog(this); if (packetSyncMutex.WaitOne(defaultTimeWaitOnPacketMutex)) { blocked = true; biosTranslated = false; blocked = false; packetSyncMutex.ReleaseMutex(); } else { MessageBox.Show(this, "Не удается сохрать таблицу калибровки" + Constants.vbCrLf + "Причина: очень энтенсивный обмен данными", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } finally { if (blocked) { packetSyncMutex.ReleaseMutex(); } //currentState.PacketsTurnOn = false; //TurnOffPackets(null, null); } }
/// <summary> /// сохранить таблицу калибровки в устройство /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void вУстройсвоToolStripMenuItem_Click(object sender, EventArgs e) { if (currentState.SelectedCalibrationTable == null) { MessageBox.Show(this, "Не загруженна конфигурация калибровочных параметров", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (currentState.SelectedCalibrationTable.CalibrationTable == null) { MessageBox.Show(this, "Не загруженна таблица калибровки", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } bool blocked = false; try { if (packetSyncMutex.WaitOne(defaultTimeWaitOnPacketMutex)) { blocked = true; biosTranslated = true; blocked = false; packetSyncMutex.ReleaseMutex(); } else { MessageBox.Show(this, "Не удается сохрать таблицу калибровки" + Constants.vbCrLf + "Причина: очень энтенсивный обмен данными", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } SaveForm saver = new SaveForm(bios, currentState); if (!currentState.PacketsTurnOn) { currentState.PacketsTurnOn = true; TurnOnPackets(null, null); } saver.ShowDialog(this); if (packetSyncMutex.WaitOne(defaultTimeWaitOnPacketMutex)) { blocked = true; biosTranslated = false; blocked = false; packetSyncMutex.ReleaseMutex(); } else { MessageBox.Show(this, "Не удается сохрать таблицу калибровки" + Constants.vbCrLf + "Причина: очень энтенсивный обмен данными", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } finally { if (blocked) packetSyncMutex.ReleaseMutex(); //currentState.PacketsTurnOn = false; //TurnOffPackets(null, null); } }