#c# #.net
#c# #.net
Вопрос:
Я буду использовать обработчик изменения данных 128 для получения обновлений OPC-сервера, но только 2 работают нормально, а другой не работает. Он остановится через 15 минут. Пожалуйста, скажите мне, сколько обработчиков изменений данных будет работать в одном приложении. Обработчик изменения данных работает так же, как поток таймера; он будет вызван через 250 миллисекунд.
private void DataChangeHandler(object sender, DataChangeEventArgs e)
{
// The invoke handling is only required when
// the callback handler writes data into Windows dialogs
try
{
if (InvokeRequired)
{
BeginInvoke(new DataChangeEventHandler(DataChangeHandler),
new object[] { sender, e });
// return;
}
if (parameter.X == 0)
{
parameter.X = 1;
Thread th = new Thread(param.update);
th.Start(e);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Комментарии:
1. Пожалуйста, сделайте этот вопрос более удобным для чтения. Постановка проблемы на самом деле не ясна. Вероятно, у вас где-то произошла утечка делегата, но с указанным кодом, который невозможно проверить.
2. Раскомментируйте инструкцию «// return;».