powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Откуда в 'Недопустимая операция в нескольких потоках:' ?
21 сообщений из 21, страница 1 из 1
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814024
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть винформс приложение из одной формы, на форме лежит ListView, добавляю в него строчки. Падаю в отладке с таким сообщением:

Код: c#
1.
 System.InvalidOperationException: 'Недопустимая операция в нескольких потоках: попытка доступа к элементу управления 'listView' не из того потока, в котором он был создан



Что за бред? Откуда многопоточность в приложении где ее нет?
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814025
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Падает только в студии, экзешник работает нормально.
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814034
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,
Докажи что студия ошиблась.
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814039
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

По-моему бред творится. Или WinForms по-умолчанию стали многопоточными?
Почему не могу просто заполнить listview данными как делал всегда?
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814043
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,
Бряк поставь и смотри окно потоков на строке где ошибка
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814045
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запускаете 2 версии студии, в одной студии открываете свой проект, в другой студии открывает отладчик и подключаетесь к первой студии.
Повторяете ситуацию вызывающую исключение, смотрите в отладчике. Профит.
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814046
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

у него ошибка в дизайнере, на сколько я понял, бряк можно поставить только из другого отладчика на студии
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814048
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может где-то есть асинхронные вызовы по старому паттерну с коллбеками? Поищи просто по всему солюшену регекспом наподобии "\b.*Async\("
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814049
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хех. В режиме ввода текста появилось новое окно.. Не закрывается.
Кто нибудь видел такие адские глюки студии?
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814054
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, все, понял, сорри, это какая-то шляпа самого дизайнера, я думал сама прога падает. В дизайнерах я совсем-совсем не спец. Возможно, какая-то бага в компоненте самом?
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814056
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

Нет, ошибка проявляется в моей программе. Когда запускаю ее появляется исключение о попытке доступа из другого потока. Хотя само приложение однопоточное и потоков вообще нет.
Сообщение об ошибке остается висеть даже после остановки отладки.
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814059
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Падает при заполении listView данными. В программе используется COM порты и библиотека ExcelDataReader. В остальном обычное однопоточное Winforms приложение.
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814060
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eoltfkthat,

Нет, ошибка проявляется в моей программе. Когда запускаю ее появляется исключение о попытке доступа из другого потока. Хотя само приложение однопоточное и потоков вообще нет.
Сообщение об ошибке остается висеть даже после остановки отладки.

Значит многопоточность все-таки есть, просто какая-то неявная. Как я уже писал, если, например, есть асинхронный вызов чего-то с коллбеком, то, коллбек может выполняться в другом потоке. Или, например, System.Threading.Timer (не тот, что в формс, а тот, что попроще) - та же самая штука. Или ThreadPool.QueueUserWorkItem. В общем, вариантов много.
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814064
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,

Отлови по стеку вызовов в исключении, при каком вызове контрола оно кидается и замени этот вызов на Control.Invoke
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814065
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

Блин и чтож делать? Поиском найти не удается.
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814067
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatEolt,

Отлови по стеку вызовов в исключении, при каком вызове контрола оно кидается и замени этот вызов на Control.Invoke

Ок, попробую
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814073
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesPetro123,

у него ошибка в дизайнере, на сколько я понял, бряк можно поставить только из другого отладчика на студииторопишься. Я не вижу что студия именно а не его код.
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814092
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

это не так и важно, 2 студия которая отлаживает первую нормально подгрузит исходники его проекта и сборки его проекта которые загрузил дизайнер, по этому отлаживать можно будет не только саму студию, но и ту часть его кода, которая выполняется в дизайнере.
ошибка как я понимаю возникает только в дизайнере, по этому это самый просто и быстрый способ найти проблему.
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814105
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesошибка как я понимаю возникает только в дизайнеренет. В режиме отладки.... В коде.
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814108
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рантайм в дебаге. Не дизайн тайм в дизайнере.
...
Рейтинг: 0 / 0
Откуда в 'Недопустимая операция в нескольких потоках:' ?
    #39814139
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сейчас в отладчике куча свистелок пердолок для анализа. На счет WF не в курсе, но в WPF есть всякие окошечки для работы с визуальным деревом, утилиты диагностики и прочее "полезное". Попробуйте отключить всё и попробовать запустить еще раз.

еще, возможно, у автора включен бряк поинт на обработанные исключение.
Лезем в окно Exception Settings -> Common Language Runtime Exceptions -> System.InvalidOperationException, снимаем галочку, радуемся жизни
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Откуда в 'Недопустимая операция в нескольких потоках:' ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]