Как исправить ошибку "vs.exe перестала работать"? - PullRequest
0 голосов
/ 21 июня 2019

У меня есть код формы Windows, в котором при нажатии кнопки функция должна выполняться из DLL.Я использовал фоновую рабочую функцию.

Ошибка точки входа DLL повторялась, и теперь vs перестал работать.Пожалуйста, помогите мне разобраться в этом:)

Можно ли это сделать любым другим способом?

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
    Bitmap[] test = new Bitmap[50];
    private BackgroundWorker _worker = null;
    System.Threading.ManualResetEvent _busy = new System.Threading.ManualResetEvent(false);


   public Form1()
    {
        InitializeComponent();
    }

   [DllImport("\\bin\\simpleDll.dll", EntryPoint = "thesholdImage")]
   public static extern String thesholdImage();

    private void button1_Click(object sender, EventArgs e)
    {
        _worker = new BackgroundWorker();
        _worker.WorkerSupportsCancellation = true;
        _worker.DoWork += new DoWorkEventHandler((state, args) =>
        {
           for (int i = 0; i < 50; i++)
                {
                    if (_worker.CancellationPending)
                    {
                        return;
                    }

                    Bitmap bmp = new Bitmap("D:/01_datasets/Bitmaps/" + Convert.ToString(i) + ".bmp");

                    test[i] = bmp;
                    pictureBox1.Image = test[i];

                    textBox1.Text= thesholdImage();                      
                }
        });

        _worker.RunWorkerAsync();
        button1.Enabled = false;
        button2.Enabled = true;

    }


    private void button2_Click(object sender, EventArgs e)
    {
        button2.Enabled = false;
        button1.Enabled = true;

         _busy.Set();
        _worker.CancelAsync();

    }
  }
}
...