Ejemplo n.º 1
0
 /// <summary>
 /// Основная процедура чтения данных с устройства
 /// </summary>
 void ReadCFG()
 {
     try
     {
         pObject.Eprom = pBios.LoadEprom();
         if (pObject.Eprom != null)
         {
             pObject.CalibrationTableHandles = pBios.CreateCalibrationTableHandles(pObject.Eprom);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Ошибка во время загрузки конфигурации",
                         MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// загружаем с файла
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void loadFromFile_Click(object sender, EventArgs e)
        {
            if (openFileDialog.ShowDialog(this) == DialogResult.OK)
            {
                FileFormat format = FileFormat.EF1TXT;
                switch (openFileDialog.FilterIndex)
                {
                case 1:

                    format = FileFormat.EF1TXT;
                    break;

                case 2:

                    format = FileFormat.EF2XMLOLD;
                    break;

                case 3:

                    format = FileFormat.EF2XML;
                    break;
                }

                bool blocked = false;
                try
                {
                    if (packetSyncMutex.WaitOne(defaultTimeWaitOnPacketMutex))
                    {
                        blocked = true;

                        currentState.PacketsTurnOn = false;
                        TurnOffPackets(null, null);

                        currentState.Eprom = bios.LoadEpromFromFile(openFileDialog.FileName, format);
                        if (currentState.Eprom == null)
                        {
                            MessageBox.Show(this, "Произошла не предвиденная ошибка!" +
                                            Constants.vbCrLf + "не удалось загрузить таблицу описателей калибруемых параметров",
                                            "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            currentState.CalibrationTableHandles = bios.CreateCalibrationTableHandles(currentState.Eprom);
                            if (currentState.CalibrationTableHandles == null)
                            {
                                MessageBox.Show(this, "Данные в EPROM устройстве не корректны!" +
                                                Constants.vbCrLf + "Не удалось выделить таблицу описателей калибровочных параметров",
                                                "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

                                currentState.Eprom = null;
                            }
                        }

                        gr.ResetPoint();
                        gr.ResetPoints();

                        gr.ResetScale();

                        ClearDataGrid();
                        onShown(this, new EventArgs());
                    }
                    else
                    {
                        MessageBox.Show(this, "Не удалось загрузить из файла." + Constants.vbCrLf +
                                        "Причина: Интенсивный обмен", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show(this, "Не удалось загрузить файл. Возможно файл не соответствует формату или поврежден",
                                    "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                finally
                {
                    if (blocked)
                    {
                        packetSyncMutex.ReleaseMutex();
                    }
                }
            }
        }