What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Помогите, пожалуйста

sholimi

New Member
Joined
Oct 25, 2014
Messages
70
Reaction score
0
Всем привет!
Пожалуйста помогите!
Не могу корректно закрыть форму при закрытии плагина - виснет АБ и выкидывает из АА.
Итак есть какая то форма, стартует при запуске плагина

form = new FormDist(this);
formThread = new Thread(RunForm);
formThread.Start();

В ее конструкторе
public FormDist(Core core)
{
InitializeComponent();
this.core = core;

thread = new Thread(<какой то метод с бесконечным циклом>);
thread.Start();
}
В теле плагина (в Core) открытие формы
public void RunForm()
{
try
{
Application.Run(form);
}
catch (System.ComponentModel.Win32Exception) { }
catch (Exception error)
{
Log("error (" + error.GetType() + ") on form: " + error.Message);
}
}
Все отрабатывает как мне нужно, но когда пытаюсь закрыть форму или сам плагин - краш АБ, есть подписка при закрытиии формы и там
try
{
if (form != null)
{
form.Invoke(new Action(() => form.Close()));
form.Invoke(new Action(() => form.Dispose()));
}

Application.Exit();
}
catch (InvalidOperationException) { }
catch (Exception error)
{
Log("Form Close Exception 2: " + error.Message);
}

try
{
formThread.Abort();
}
catch (ThreadAbortException) { }
catch (Exception error)
{
Log("Form Abort Exception: " + error);
}
Это не помогает - АБ все равно виснет и выкидывает из АА
Что я делаю не так ????? Помогите, пожалуйста!
 
Back
Top