0 / 0 / 1
Регистрация: 16.06.2011
Сообщений: 32
|
||||||
1 | ||||||
.NET 4.x Доступ к GUI из метода другого класса запущенного в фоновом потоке08.08.2012, 17:25. Показов 1573. Ответов 2
Метки нет (Все метки)
С доступом к win форме из фонового потока все понятно. Разобрался и с доступом к форме из другого класса. А если эти две задачи объединить, то получиться следующая задача - Как получить доступ к форме из метода другого класса, запущенном в фоновом потоке?
Программа следующая. 1. Значение аргумента определяется рандомно от 0 до 100. если < 50, то в основном потоке выводим в richTextBox1 текст "основной поток". иначе 2. запускается в потоке метод Run(sting s) класса threadClass, в который передается значение string s = "фоновый". 3. В свою очередь метод Run, запущенный в фоновом потоке, запускает метод msg(string s) класса Form1, который выполняет вывод значения s в richTextBox1. код:
В последней строке "NewEvent(s) " возникает ошибка - Null reference exeption... Чего делаю не так? Выслушаю любые комментарии...
0
|
08.08.2012, 17:25 | |
Ответы с готовыми решениями:
2
Вернуть значение из метода запущенного в потоке (Thread) Запуск метода в основном потоке из другого Каким образом можно из метода одного класса, вывести в метод другого класса текст всплывающего сообщения Вызов метода из другого класса, при этом нельзя создать объект второго класса и метод не статический |
189 / 189 / 38
Регистрация: 11.04.2009
Сообщений: 497
|
|
08.08.2012, 18:06 | 2 |
Поставитье отладчиком точку останова и посмотрите, где у вас там null.
0
|
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
|
|||||||||||
08.08.2012, 18:08 | 3 | ||||||||||
Ух, щас лекцию прочитаю.
Ошибка возникает потому что никто не подписан на это событие. Рассмотрим код без синтаксического сахара. Т.е. вот это:
В приведенном же коде, ошибка заключается в создании нового экземпляра threadClass в 27 строке. На этот экземпляр никто не подписан - соответственно ловим null.
0
|
08.08.2012, 18:08 | |
08.08.2012, 18:08 | |
Помогаю со студенческими работами здесь
3
Биндинг в потоке: поток не может получить доступ к интерфейсу из другого потока Запуск метода из другого класса в потоке Доступ к методу структуры из другого метода класса Экземпляр класса как входные данные метода другого класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |