|
3 / 3 / 1
Регистрация: 22.04.2011
Сообщений: 31
|
|||||||||||
Зависает программа, хотя используется BeginInvoke, и всё должно считаться в другом потоке29.06.2012, 06:57. Показов 5657. Ответов 34
Метки нет (Все метки)
У меня есть программа которая моделирует физ процесс, иногда делает это долго, чтобы на форму не ставилось Программа не отвечает, решил вынести расчет в отдельный поток, но пока реализовать это не смог. Просто в процессе счета хочу ещё знать сколько она выполнила% от всего объема.
свойства BeginInvoke узнал отсюда http://krez0n.org.ua/archives/686 Итак по нажатию кнопки идет расчет.
но даже без него всё равно приложение виснет, наверно как-то по другому надо обрабатывать асинхронный вывод данных. то есть мониторить процесс расчета и одновременно делать активным форму не возможно?
0
|
|||||||||||
| 29.06.2012, 06:57 | |
|
Ответы с готовыми решениями:
34
Зависает окно cmd, хотя не должно
Зависает программа при работе в потоке |
|
194 / 193 / 17
Регистрация: 07.11.2010
Сообщений: 477
|
|
| 03.07.2012, 17:05 | |
|
0
|
|
|
3 / 3 / 1
Регистрация: 22.04.2011
Сообщений: 31
|
||
| 03.07.2012, 19:46 [ТС] | ||
![]() я тоже подофигел когда пропотоки узнал,
0
|
||
|
216 / 216 / 20
Регистрация: 18.05.2010
Сообщений: 865
|
|||||||
| 04.07.2012, 01:56 | |||||||
0
|
|||||||
|
3 / 3 / 1
Регистрация: 22.04.2011
Сообщений: 31
|
||
| 04.07.2012, 05:53 [ТС] | ||
|
А форма находиться в класcе Flowvizer:Form.(Namespace у них одно) В методе класса HDR не видно ни полей(контролов) формы, ни Invoke
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 04.07.2012, 11:24 | ||
|
В форме отлавливайте это событие и там уже делайте что хотите: выводите в консоль, обновляйте прогресс бар, жарьте карри и пр.
0
|
||
|
216 / 216 / 20
Регистрация: 18.05.2010
Сообщений: 865
|
||
| 04.07.2012, 13:20 | ||
|
kolorotur,
0
|
||
|
3 / 3 / 1
Регистрация: 22.04.2011
Сообщений: 31
|
||
| 04.07.2012, 15:16 [ТС] | ||
|
да так легче будет, попробую. Добавлено через 29 минут у меня получилось! могу отблагодарить за помощь!(теперь очень стильно ползет прогресс бар) http://www.youtube.com/watch?v=id5sOrGljt0 Какие книги посоветуете почитать на досуге(попрактиковаться)? Я изучаю язык самостоятельно, и прочитал с примерами только Герберт Шилдт - C# Учебный Курс, но там про консольные приложения только. тему можно закрыть, теперь осталось с процедурами фортрана разобраться(как предавать им массив,), чтобы этих черных консольных приложений не возникало.
0
|
||
|
216 / 216 / 20
Регистрация: 18.05.2010
Сообщений: 865
|
|
| 04.07.2012, 22:53 | |
|
Но правильнее все таки сделать событие в классе HDR как сказал kolorotur, я вам просто показал что существуют масса способов, но в ООП правильнее использовать событие и подписаться на него с формы. В этом случае можно с любой формы изменять свой прогресс бар или все что угодно.
0
|
|
|
3 / 3 / 1
Регистрация: 22.04.2011
Сообщений: 31
|
|||||||||||
| 06.07.2012, 09:19 [ТС] | |||||||||||
|
Давайте попробуем, теперь у меня обработчик событий ProcesingEvent не видит форму
класс с методом расчета
0
|
|||||||||||
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,246
|
|
| 06.07.2012, 10:18 | |
|
ну у вас же ProcessingEvent static'ом объявлено, оно так и не увидит
1
|
|
|
3 / 3 / 1
Регистрация: 22.04.2011
Сообщений: 31
|
||
| 06.07.2012, 10:28 [ТС] | ||
|
пишет что перекрестная ссылка на объект созданный другим потоком. Что-то хитрее надо использовать, Добавлено через 5 минут изменил, и теперь по штуке this.Invoke(new Action(()=>this.l.Text=r+"% completed")); получается. Что тогда такое Invoke? он что делает связку с основным рабочим потоком и туда передает данные, или временно их привносит во второй поток, изменяет и отправляет на форму? поразительно красивые вещи получаются ![]() буду пример теперь переносить на основную программу.
0
|
||
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,246
|
||||||
| 06.07.2012, 10:31 | ||||||
|
там через invoke наверно надо, если пишет что из др. потока обращение..
типа такого:
0
|
||||||
|
3 / 3 / 1
Регистрация: 22.04.2011
Сообщений: 31
|
||
| 06.07.2012, 11:26 [ТС] | ||
|
Спасибо
0
|
||
|
216 / 216 / 20
Регистрация: 18.05.2010
Сообщений: 865
|
||
| 06.07.2012, 13:27 | ||
|
0
|
||
|
3 / 3 / 1
Регистрация: 22.04.2011
Сообщений: 31
|
||
| 08.07.2012, 12:56 [ТС] | ||
|
всё работает, спасибо большое.
0
|
||
| 08.07.2012, 12:56 | |
|
В результате вычислений программа выдает нули(хотя так не должно быть) Чистильщики все время находят кеш в IE, хотя этот браузер не используется
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|