| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > ошибка при обращении к форме из другого потока |
| Автор: Demokratizator 12.9.2007, 14:23 | ||||||||
| Добрый день. Не пойму в чем дело: Ситуация - основной поток создает объект формы, но не запускае ее:
потом запускает второй поток, который запускае эту форму:
во втором потоке открывается форма, и в ней есть процедура которая должна отработать в еще одном независимом процессе (3 поток получается) так вот если в 3 потоке происходит ошибка, то срабатывает исключение
собственно ошибка: что обращение к AcForm не из потока порадившего ее. frmMain - основная форма программы. запускается из main. доступ к form1 такой:
почему вылетает ошибка? причем это только если из 3 потока, если 3 поток убрать и подвесить form1 при выполнении кода, прежназначенного для 3 потока, то все гуд. В чем трабла? Спасибо. |
| Автор: iad 12.9.2007, 15:34 |
| сам же себе и ответил: |
| Автор: Demokratizator 12.9.2007, 16:29 |
| да, только вроде через Invoke все проходит... |
| Автор: iad 12.9.2007, 18:49 |
| Насколько я понимаю через инвоке у тебя только получение ссылки на _logonForm...имхо бессмысленно. Через инвоке нужно делать вызов errorDialog.ShowDialog(frmMain.AcForm); Из приведенного отрывочного кода сложновато понять.. |
| Автор: zaver 12.9.2007, 18:58 |
| кинь весь код и скажи где, когда и какая ошибка вылетает |
| Автор: Demokratizator 13.9.2007, 18:31 | ||||||||
Основной файл программы
файл LogonFormHelper
файл LogonBackground
файл Error
|