Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблемма с потоками

43K
23 марта 2010 года
nick17
19 / / 02.08.2009
Доброго времени суток!
Я запускаю menuItemPlay. Запускается функция MainAVIFile(), а в ней цикл, все нормально, все работает. Каждый шаг цикла выводится новое данное в форме. Но машина при этом умирает. И так в теченее часа, пока не появился новый файл)) Я обратился к System.Threading.

Код:
....
static void Main(){
     Application.Run(new Form1()); }

private void InitializeComponent(){
....
this.labelTubeTCurr = new System.Windows.Forms.Label();
...
this.labelTubeTCurr.Text = "10.0";
...
this.Controls.Add(this.groupBoxRecognizingFrame);  ....  }

private void menuItemPlay_Click(object sender, EventArgs e){
            threadAVIFile = new Thread(new ThreadStart(MainAVIFile));
            threadAVIFile.Start();
//MainAVIFile();    }

private void MainAVIFile(){
    for (pos = 0; pos < countFrames; pos++){
        dTubeTCurr =  pos / countFrames;
        strTubeTCurr = string.Format("{0:F2}", dTubeTCurr);
        [COLOR="YellowGreen"]this.labelTubeTCurr.Text = strTubeTCurr;[/COLOR]

В проге показалась ошибка:
Необработанное исключение типа "System.InvalidOperationException"
! произошло в System.Windows.Forms.dll
Дополнительные сведения: Недопустимая операция в нескольких потоках: попытка
доступа к элементу управления "labelTubeTCurr" не из того потока, в котором он был создан.
...........................
Вот что из этого получилось((
заранее спасибо))
307
23 марта 2010 года
Artem_3A
863 / / 11.04.2008
попробуй использовать делегаты.
43K
23 марта 2010 года
nick17
19 / / 02.08.2009
понял проблему - буду решать))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог