System.InvalidOperationException が発生しました
HResult=0x80131509
Message=有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'Progress' がアクセスされました。
Source=<例外のソースを評価できません>
スタック トレース:
場所 System.Windows.Forms.Control.get_Handle()
場所 System.Windows.Forms.Control.GetSafeHandle(IWin32Window window)
場所 System.Windows.Forms.MessageBox.ShowCore(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, Boolean showHelp)
場所 System.Windows.Forms.MessageBox.Show(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon)
場所 FontVal.Progress.OnException(Exception e) (C:\Users\m_fujii\Documents\GitHub\Font-Validator\FontVal\Progress.cs):行 391
場所 OTFontFileVal.Driver.RunValidation(Validator v, String[] fontList) (C:\Users\m_fujii\Documents\GitHub\Font-Validator\OTFontFileVal\ValDriver.cs):行 487
場所 FontVal.Progress.Worker() (C:\Users\m_fujii\Documents\GitHub\Font-Validator\FontVal\Progress.cs):行 158
場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
場所 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
場所 System.Threading.ThreadHelper.ThreadStart()
public void Worker()
{
m_bValidationInProgress = true;
OTFontFileVal.Driver driver = new OTFontFileVal.Driver( this );
driver.RunValidation( m_Validator, m_sFiles );
m_bValidationInProgress = false;
m_formParent.EnableUI(true);
CloseOurForm();
}
public int RunValidation( Validator v, string [] fontList )
{
int i;
int ret = 0;
v.SetOnValidateEvent(new
Validator.OnValidateEvent(OnValidateEvent));
DIAction vid = new DIAction(ValidatorCallback);
v.SetValInfoDelegate(vid);
try
{
for (i = 0; i < fontList.Length; i++)
{
if (v.CancelFlag)
{
m_callbacks.OnCancel();
return ret;
}
ret |= ValidateFont(v, fontList[i], null, i, fontList.Length);
}
m_callbacks.OnReportsReady();
}
catch (Exception e)
{
m_callbacks.OnException(e);
return 1;
}
return ret;
}
public void OnException( Exception e )
{
MessageBox.Show( this, e.Message, "Error",
System.Windows.Forms.MessageBoxButtons.OK,
System.Windows.Forms.MessageBoxIcon.Error);
DeleteTemporaryFiles( m_reportFiles );
}