private void MetroWindow_Closed(object sender, EventArgs e) { try { while (Flags.Initializing周辺機器) { ; } Target.ClosePort(); if (Flags.StateEpx64) { General.ResetIo(); General.io.Close();//IO閉じる } if (Flags.State5107B) { General.osc.Close(); } if (Flags.State323x) { Hioki3239.ClosePort(); } if (Flags.StateWavGen) { WaveFormGenerator.Close(); } if (Flags.State7012) { HIOKI7012.ClosePort(); } if (!State.Save個別データ()) { MessageBox.Show("個別データの保存に失敗しました"); } if (!General.SaveRetryLog()) { MessageBox.Show("リトライログの保存に失敗しました"); } } catch { } }
public static async Task <bool> InitAll() { return(await Task <bool> .Run(() => { Sleep(3000); io.Close(); Sleep(200); HIOKI7012.ClosePort(); Sleep(200); Hioki3239.ClosePort(); Sleep(200); osc.Close(); Sleep(200); WaveFormGenerator.Close(); Sleep(200); FindSerialPort.GetDeviceNames(); Sleep(500); Flags.StateEpx64 = General.io.InitEpx64R(0x7F);//0111 1111 ※P7入力 その他出力 if (!Flags.StateEpx64) { return false; } Flags.State7012 = HIOKI7012.Init7012(); if (!Flags.State7012) { return false; } Flags.State323x = Hioki3239.Init323x(); if (!Flags.State323x) { return false; } Flags.State5107B = General.osc.Init(); if (!Flags.State5107B) { return false; } Flags.StateWavGen = WaveFormGenerator.Initialize(); if (!Flags.StateWavGen) { return false; } return true; })); }