private void UploadButton_Click(object sender, EventArgs e) { if (!ValidateConnectionStatus()) { return; } m_worker.RunWorkerAsync(new AsyncProcessWrapper(worker => { try { var dataflashCopy = new byte[m_simple.Data.Length]; Buffer.BlockCopy(m_simple.Data, 0, dataflashCopy, 0, m_simple.Data.Length); UpdateUI(() => SaveWorkspaceToDataflash(m_dataflash)); m_manager.Write(m_dataflash, dataflashCopy); m_usbConnector.WriteDataflash(new SimpleDataflash { Data = dataflashCopy }, worker); } catch (Exception ex) { s_logger.Warn(ex); InfoBox.Show(GetErrorMessage("uploading settings")); } })); }