public void InitiateReferenceRead(ProjectLayoutReference[] arrayProjectLayoutReferences, bool bExporting) { if (m_zReporterProxy != null) { ReadData(arrayProjectLayoutReferences); } else { var zProgressReporter = CardMakerInstance.ProgressReporterFactory.CreateReporter( "Loading Reference Data", new string[] { ProgressName.REFERENCE_DATA }, ReadData, arrayProjectLayoutReferences ); zProgressReporter.CancelButtonVisible = false; m_zReporterProxy = new ProgressReporterProxy() { ProgressIndex = 0, // known from above ProgressReporter = zProgressReporter, ProxyOwnsReporter = true }; CardMakerInstance.ApplicationForm.InvokeAction(() => zProgressReporter.StartProcessing(CardMakerInstance.ApplicationForm)); } if (!bExporting) { // if a ref reader had an issue handle it (google for example due to auth) m_zErrorReferenceReader?.HandleInvalid(); } }