|
2 / 2 / 0
Регистрация: 05.01.2011
Сообщений: 16
|
|||||||||||
BackGroundWorker в связке с ProgressBar работают некорректно05.08.2012, 20:12. Показов 4441. Ответов 6
Метки нет (Все метки)
Сделал бэкграундворкер в купе с прогрессбаром
Покритикуйте может чего не учел, потому что есть реальный проект с большим объемом вычислений так вот там работает отвратительно. Ситуация следующая По кнопке в обработчике запускается первый кусок вычислений, в нем все работает классно, слоники бегут. Далее тут же запускается второй кусок и тут облом - отображается окошко с прогресбаром на 0% и все виснет. Ставил брекпоинт на делегата который передаю в конструкторе - до него дело не доходит. Если окошко закрыть крестом программа продолжает идти далее но видно что второй кусок вычислений не состоялся и где то там далее валит эксепшин. Далее еще интереснее. Если между двумя кусками вычислений вставлю какую-то ерунду типа
В приаттаченом солюшине все работает. В реальном проекте с вычислениями - нет. Что происходит ? tst.zip
0
|
|||||||||||
| 05.08.2012, 20:12 | |
|
Ответы с готовыми решениями:
6
ProgressBar как BackgroundWorker |
|
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
|
|
| 06.08.2012, 04:32 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 05.01.2011
Сообщений: 16
|
|||||||
| 06.08.2012, 20:04 [ТС] | |||||||
0
|
|||||||
|
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
|
|||
| 07.08.2012, 08:17 | |||
|
0
|
|||
|
2 / 2 / 0
Регистрация: 05.01.2011
Сообщений: 16
|
||
| 07.08.2012, 09:10 [ТС] | ||
|
Не поленился, выкинул BGW, переписал на тредах (пока без поддержки прогрессбара) со стороны исполняемого куска, то же самое. Еще такое, если входной массив большой (ну скажем 100 тыс отсчетов) - глючит Если входной массив обрезать скажем до 5 тыс - пролетает ModelTaho.Process_FindSizeForWindowProce ss(); - это также небольшой кусочек вычислений который тоже нужно закидывать в фон и выводить прогрессбар, пока он работает в основном треде. Я пока перевел в фон только два больших по объему вычислений. Без него нельзя. его результаты исп. дальше.
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 07.08.2012, 09:41 | |
|
grv, прицепите рабочий проект - проще проблему найти будет.
Ну или в личку сбросьте, если он "не для всех".
0
|
|
|
2 / 2 / 0
Регистрация: 05.01.2011
Сообщений: 16
|
|||||||||||
| 08.08.2012, 12:18 [ТС] | |||||||||||
|
Включил дисасеммблер, там полная ересь. После вызова pba.ShowDialog(); программа улетает на чтение свойства BackColor другого юзерконтрола причем там молотит по кругу и уже не возвращается. Плюнул, переписал тупо - в проекте добавил форму, на ней bgw+pb. Сразу все поехало. Кому интересно вот вариант.
Форма которая вызывается модально
В основной проге
0
|
|||||||||||
| 08.08.2012, 12:18 | |
|
Помогаю со студенческими работами здесь
7
Обновление ProgressBar из BackgroundWorker Не работает ProgressBar в BackgroundWorker Зависание с ProgressBar и BackgroundWorker BackgroundWorker , progressBar и обработка кнопки Совместная работа ProgressBar и BackgroundWorker Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|