![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 30.08.2011
Сообщений: 26
|
![]()
Здравствуйте всем! Столкнулся с совершенно неожиданной проблемой. Когда пытаюсь во время выполнения цикла for изменять значения полей Label или Edit (которые в каждом новом проходе обновляются), то программа соответствующие строки кода игнорирует. Только когда цикл заканчивается, в данные поля записываются последние значения. Во время всех проходов цикла, повторюсь, поля пустые. Вот код
Код:
Последний раз редактировалось Stilet; 08.09.2013 в 17:25. |
![]() |
![]() |
![]() |
#2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Добавьте в цикл Sleep(100), например
![]()
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 08.09.2013 в 16:48. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 14.10.2011
Сообщений: 267
|
![]()
А перерисовку ( Repaint(); ) в цикл добавлять не пробовали? (если действительно есть шанс что-то рассмотреть после каждой итерации).
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 30.08.2011
Сообщений: 26
|
![]()
Спасибо! перерисовка помогла
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
...внутри циклов и из потоков к VCL лучше вообще не обращаться. Самый говноспособ это просто поставить Application.ProcessMessages внутри, но это дает задержку в обработке из-за необходимости отработки очереди сообщений для формы. Для потоков - синхронизе. Еще один обходной способ, годящийся и для потоков и циклов для визуализации (индикации, но не архивирования!) это работать с глобальной переменной, а уже из другого потока или в потоке таймера отображать в метке (ваших label-ях) значение этой/их global var.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамическая индикация. | sokla | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 03.10.2011 11:01 |
Ввести 3 числа ( в 3 компонента Edit ) и расположить их по возрастанию в компоненте Label | Сароникус | Помощь студентам | 0 | 01.10.2011 22:31 |
Динамическая индикация для Atmega 8535. Проблема. | Mr_Gutsy | Помощь студентам | 16 | 10.05.2011 21:36 |
Label напротив Edit | pahanzona | Общие вопросы Delphi | 9 | 26.02.2011 10:40 |
Индикация для плеера | Сергей Михайлович | Фриланс | 2 | 09.02.2011 09:01 |