Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
43 / 24 / 6
Регистрация: 19.10.2015
Сообщений: 70

"Ссылка на объект не указывает на экземпляр объекта" при вызове Abort

06.02.2016, 12:03. Показов 3540. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При вызове Abort() вываливается ошибка "Ссылка на объект не указывает на экземпляр объекта.".
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
        List<Thread> _threads;
 
        public void Run(int count)
        {
            _threads = new List<Thread>();
 
            for (int i = 0; i < count; i++)
            {
                var thread = new Thread(multiThread);
                thread.IsBackground = true;
                _threads.Add(thread);
                
                _threads[i].Start();
            }
        }
 
        public void Abort()
        {
            foreach (Thread thr in _threads) // Вот тут
            {
                thr.Abort();
            }
            _threads.Clear();
        }
Что с этим делать? Мозги совсем не варят.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.02.2016, 12:03
Ответы с готовыми решениями:

Ссылка на объект не указывает на экземпляр объекта при добавлении в реестр
Не понимаю, в чем ошибка, подскажите пожалуйста! Пишет, что ссылка на объект не указывает на экземпляр объекта при добавлении в реестр! ...

Ссылка на объект не указывает на экземпляр объекта при вставке массива
Здравствуйте, многуважаемые форумчане! Я совсем недавно начала изучать С#, и возникла такая проблема: Нужно создать рваный массив,...

Ссылка на объект не указывает на экземпляр объекта при работе с массивами
Доброго времени суток!Написал программу,но ругается, не понимаю почему:cry: Поясните что нужно сделать,пожалуйста!

9
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
06.02.2016, 12:18
Цитата Сообщение от RomkaSk Посмотреть сообщение
Ссылка на объект не указывает на экземпляр объекта.
А во время выполнения Abort() сам _threads вообще создан?
0
43 / 24 / 6
Регистрация: 19.10.2015
Сообщений: 70
06.02.2016, 12:25  [ТС]
Да, если потоки не запущены то не доступна кнопка для остановки потоков.
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
06.02.2016, 12:46
Поставьте точку останова на 19-ю строку и посмотрите, что в _threads.
0
43 / 24 / 6
Регистрация: 19.10.2015
Сообщений: 70
06.02.2016, 14:37  [ТС]
Цитата Сообщение от Даценд Посмотреть сообщение
Поставьте точку останова на 19-ю строку и посмотрите, что в _threads.
C#
1
null
Я что-то запутался, почему там null?
С чём это связано?
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
06.02.2016, 14:40
RomkaSk,
Нужно больше кода. Как вызываются Run и Abort?
0
Эксперт .NET
 Аватар для Usaga
14297 / 9382 / 1353
Регистрация: 21.01.2016
Сообщений: 35,372
06.02.2016, 14:41
С тем, что Abort() вызывается до вызова Run().
0
43 / 24 / 6
Регистрация: 19.10.2015
Сообщений: 70
06.02.2016, 14:55  [ТС]
Цитата Сообщение от Даценд Посмотреть сообщение
RomkaSk,
Нужно больше кода. Как вызываются Run и Abort?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private void startBtn_Click(object sender, EventArgs e)
        {
            if (Globals.srcLenght == 0)
            {
                MessageBox.Show("Source is empty!");
                return;
            }
 
            Threads thr = new Threads();
 
            if (click == 0)
            {
                startBtn.Image = Properties.Resources.stop;
                click++;
                timer1.Start();
                thr.Run(10);
            }
            else
            {
                timer1.Stop();
                timer1.Dispose();
                startBtn.Image = Properties.Resources.play;
                thr.Abort();
                click = 0;
            }
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
06.02.2016, 15:00
Лучший ответ Сообщение было отмечено RomkaSk как решение

Решение

Цитата Сообщение от RomkaSk Посмотреть сообщение
C#
9
Threads thr = new Threads();
При любом щелчке, вне зависимости от значения click создается новый объект thr. Соответственно ссылка будет пустая.
1
43 / 24 / 6
Регистрация: 19.10.2015
Сообщений: 70
06.02.2016, 15:10  [ТС]
Пасиб, уж понял
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.02.2016, 15:10
Помогаю со студенческими работами здесь

Ссылка на объект не указывает на экземпляр объекта при работе с делегатами
Добрый вечер, уважаемые форумчане. При работе с делегатами столкнулся со следующей проблемой: NullReferenceException не обработано ...

Ссылка на объект не указывает на экземпляр объекта при отправке почты
Всем привет! Суть проблемы: Что делать?

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

Ошибка при разборе XML. Ссылка на объект не указывает на экземпляр объекта
Добрый день! Столкнулась со следующей проблемой: разбираю xml сообщение следующего вида: &lt;settings&gt; - &lt;row&gt; ...

Ссылка на объект не указывает на экземпляр объекта при обращении к элементу массива
выдает ошыбку Ссылка на объект не указывает на экземпляр объекта. public string STRING; string keystr = &quot;Май Поэзия...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru