![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 16.09.2010
Сообщений: 2
|
![]()
Здравствуйте. Помогите пожалуйста. Есть процедура, в который очень много раз выполняется цикл. при чем выполняется долго. чтобы пользователь не умер от ожидания, пытаюсь выводить в ProgressBar шкалу выполнения (да и в StatusBar тоже пыталась). все чудесно..., но если переключиться в это время на какое-нибудь другое приложение или просто свернуть форму, а потом ее развернуть - все, труба, процесс не ползет, статус бар не меняется и не понятно долго ли еще до конца. подскажите, как с этим бороться? Cтолкнулся с такой проблемой при использовании Application.ProcessMessages. - Если в цикле выполняется математическое вычисление, то результирующие данные могут быть искажены. (Или я где-то затупил с переменными).
From Stilet: 1) Не лезь в чужие темы - это наказуемо 2) Не нужно тут рекламу в подписи пихать - это наказуемо еще жестче. Для рекламы есть раздел Спам Последний раз редактировалось Stilet; 16.09.2010 в 13:38. |
![]() |
![]() |
![]() |
#2 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
![]()
А саму процедуру мы телепатически должны узнать?
Никогда не знаешь, где тебе повезет... (Фрай)
|
![]() |
![]() |
![]() |
#3 | |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
![]() Цитата:
По теме: 1. Есть сторонние компоненты, где есть такой ProgressBar. Просто полоска бегает туда-сюда. 2. можно установить range от 0 до ... и по-таймеру заполнять. Доходишь до конца, начинаешь сначала. 3. Можно использовать TAnimate. Если подставить свой avi-файл, то можно сделать очень эффектно. ... да способов миллион... Можно даже на панели фильм запустить, чтобы "пользователь не умер от ожидания" |
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 23.11.2006
Сообщений: 42
|
![]()
Я сталкивался в 7-м делфи с косяком цикла FOR
бывало в программах for i:=1 to 9 do ..... переменная i получала заначения не входящие в диапазон 1-9. возвращались кривые заначения из диапазона используемого типа. короче))) если используешь for попробуй заменить на While |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
![]() |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 23.11.2006
Сообщений: 42
|
![]()
тогда ещё писал "школьные" программы. i типа интеджер простой цикл фор. никаких сложных формул. причина неизвестна. но с тех пор стараюсь использовать while или repeat until. и тогда всё работало как задумано...
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 44
|
![]()
Попробуйте поюзать ProgressBar в TThread
|
![]() |
![]() |
![]() |
#8 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Вот ведь чудесный совет
![]() |
![]() |
![]() |
![]() |
#9 |
Игрок
Форумчанин
Регистрация: 29.10.2006
Сообщений: 367
|
![]()
вообще должно хватить Application.ProcessMessages ну и на край ProgressBar.refresh.
По поводу ошибок в циклах - иногда бывают, но видно это только в дебагере. Ловил такую тему на неотлаженых приложениях. Причина - оптимизатор делфи. Да и массивы с конца считаются. А еще можно накосячить и случайно менять счетчик вылетом за пределы массива. ИМХО - ищи ошибки в коде.
Жизнь всегда игра. Но смерть - не всегда поражение.
#define true (Math.random()>0.5) //Удачной отладки ![]() |
![]() |
![]() |
![]() |
#10 | |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
![]() Цитата:
if count = 0 then всегда пишу if count < 1 then |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как работает программа и что делает | dragun4ik | Помощь студентам | 0 | 23.05.2010 15:51 |
Не работает программа, что делать? | St1mkA | Помощь студентам | 6 | 28.04.2010 20:22 |
Как проге показать, что поля 1 и2 связаны с кнопкой1 ,а поле 3 и 4 с кнопкой2 | Mikhail91 | Общие вопросы C/C++ | 5 | 21.03.2010 21:43 |
Программа для веб-дизайна. Что модно, а что функционально? | Web-Gangsta | Свободное общение | 12 | 03.02.2010 20:59 |
Как с помощью ProgressBar показать процесс загрузки файла? | blackstersl | Общие вопросы Delphi | 5 | 20.03.2009 11:31 |