У меня есть код формы 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();
}
}
}