Вверх ↑
Этот топик читают: Гость
Ответов: 3349
Рейтинг: 233
#16: 2012-02-21 19:58:15 ЛС | профиль | цитата
Label.AutoSize = false
------------ Дoбавленo в 19.58:
Ути какие быстрые
карма: 1

0
Ответов: 1429
Рейтинг: 50
#17: 2012-02-21 20:00:38 ЛС | профиль | цитата
Ivann писал(а):
Видимо события накапливаются
- помоему они бегут бесконечно.

Tad писал(а):
поставил Label AutoSize=False.
- фантастика. Не понимаю связь.

1nd1g0 писал(а):
Обнуляет выход после For
-
Tad писал(а):
поставил Label AutoSize=False.

карма: 0

0
Ответов: 3889
Рейтинг: 362
#18: 2012-02-21 20:08:10 ЛС | профиль | цитата
Сам же себе отвечу - похоже, нет в коде FT_DoData правильной обработки заранее введённого числа. По крайней мере в результирующем *.pas нет никаких присвоений.
------------ Дoбавленo в 20.08:
login писал(а):
помоему они бегут бесконечно.

Я устал твердить, дело в перерисовке.
login писал(а):
фантастика. Не понимаю связь.

Размер элемента изменяется из-за смены содержимого (числа) происходит перерисовка и все события, включая пустое MOUSEMOVE высылаются ему вновь. Я уже объяснял, что это замкнутый круг.
карма: 1

0
Ответов: 1429
Рейтинг: 50
#19: 2012-02-21 20:08:54 ЛС | профиль | цитата
Я, пол дня думал, что у меня параллельный поток зацикливается.
1nd1g0 писал(а):
Размер элемента изменяется из-за смены содержимого (числа)
теперь понял. (хотя скорее всего нихрена не понял размеры числа не меняются, мышь-то не двигают)

Ладно, спасибо. В целом всё понятно.
карма: 0

0
Ответов: 3889
Рейтинг: 362
#20: 2012-02-21 20:16:48 ЛС | профиль | цитата
login писал(а):
размеры числа не меняются

Первое же движение мыши по пути к какому-то месту на окне порождает цепь событий MouseMove, но они встают в очередь потому, что поток у Вас один и обработчик трудится над самым первым, порождает цикл, цикл сто раз перерисовывает LABEL, но из-за выравнивания размера (Autosize) происходит переинициализация очереди сообщений, включая пачку MouseMove и они дублируются новыми, кроме того, система регулярно высылает и другие сообщения типа изменения курсора и т.п., если бы Вы и их обрабатывали, убедились бы в этом.
карма: 1

0
Ответов: 1429
Рейтинг: 50
#21: 2012-02-21 20:19:49 ЛС | профиль | цитата
1nd1g0, спаисбо. Понял.
карма: 0

0
Ответов: 3889
Рейтинг: 362
#22: 2012-02-21 20:28:17 ЛС | профиль | цитата
1nd1g0 писал(а):
сообщение WM_MOUSEMOVE приходит окну несколько раз в секунду.

Это происходит из-за того, что нахождение мыши над окном тоже считается движением и расчитано на программы, которые только так и отслеживают положение курсора - по содержимому приходящих сообщений. Подумайте сами, вот у меня планшет и я прицельно ткнул в то же место, где уже был курсор перомпальцем, считать ли это движением? По идее - нет, курсор же не сдвинулся, и программы, первоначально не предназначенные для перьевогосенсорного ввода тогда не среагируют на действие, потому его им "навязывают" насильно. Хотя согласен, устаревшее название события должно бы было называться сейчас "WM_CurrentMouseState", регулярная сводка с фронта, мол, "по последним данным крыса спряталась там-то, зажаты у неё такие-то лапки".
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#23: 2012-02-21 20:34:11 ЛС | профиль | цитата
login, просто события в схемах HiAsm идут "как карта ляжет". Поэтому люди часто ставят таймеры для тормозов (любимый, вернее вынужденный, прием nesco )
code_26966.txt
И даже светодиод моргает
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_26966.txt [1001B] [135]
23
Сообщение
...
Прикрепленные файлы
(файлы не залиты)