Label.AutoSize = false
------------ Дoбавленo в 19.58:
Ути какие быстрые
Этот топик читают: Гость
Ответов: 3349
Рейтинг: 233
|
|||
карма: 1 |
|
Ответов: 1429
Рейтинг: 50
|
|||
Ivann писал(а): Видимо события накапливаютсяTad писал(а): поставил Label AutoSize=False.1nd1g0 писал(а): Обнуляет выход после For Tad писал(а): поставил Label AutoSize=False. |
|||
карма: 0 |
|
Ответов: 3889
Рейтинг: 362
|
|||
Сам же себе отвечу - похоже, нет в коде FT_DoData правильной обработки заранее введённого числа. По крайней мере в результирующем *.pas нет никаких присвоений.
------------ Дoбавленo в 20.08: login писал(а): помоему они бегут бесконечно.Я устал твердить, дело в перерисовке. login писал(а): фантастика. Не понимаю связь.Размер элемента изменяется из-за смены содержимого (числа) происходит перерисовка и все события, включая пустое MOUSEMOVE высылаются ему вновь. Я уже объяснял, что это замкнутый круг. |
|||
карма: 1 |
|
Ответов: 1429
Рейтинг: 50
|
|||
Я, пол дня думал, что у меня параллельный поток зацикливается.
1nd1g0 писал(а): Размер элемента изменяется из-за смены содержимого (числа)Ладно, спасибо. В целом всё понятно. |
|||
карма: 0 |
|
Ответов: 3889
Рейтинг: 362
|
|||
login писал(а): размеры числа не меняютсяПервое же движение мыши по пути к какому-то месту на окне порождает цепь событий MouseMove, но они встают в очередь потому, что поток у Вас один и обработчик трудится над самым первым, порождает цикл, цикл сто раз перерисовывает LABEL, но из-за выравнивания размера (Autosize) происходит переинициализация очереди сообщений, включая пачку MouseMove и они дублируются новыми, кроме того, система регулярно высылает и другие сообщения типа изменения курсора и т.п., если бы Вы и их обрабатывали, убедились бы в этом. |
|||
карма: 1 |
|
Ответов: 1429
Рейтинг: 50
|
|||
1nd1g0, спаисбо. Понял.
|
|||
карма: 0 |
|
Ответов: 3889
Рейтинг: 362
|
|||
1nd1g0 писал(а): сообщение WM_MOUSEMOVE приходит окну несколько раз в секунду.Это происходит из-за того, что нахождение мыши над окном тоже считается движением и расчитано на программы, которые только так и отслеживают положение курсора - по содержимому приходящих сообщений. Подумайте сами, вот у меня планшет и я прицельно ткнул в то же место, где уже был курсор перомпальцем, считать ли это движением? По идее - нет, курсор же не сдвинулся, и программы, первоначально не предназначенные для перьевогосенсорного ввода тогда не среагируют на действие, потому его им "навязывают" насильно. Хотя согласен, устаревшее название события должно бы было называться сейчас "WM_CurrentMouseState", регулярная сводка с фронта, мол, "по последним данным крыса спряталась там-то, зажаты у неё такие-то лапки". |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
login, просто события в схемах HiAsm идут "как карта ляжет". Поэтому люди часто ставят таймеры для тормозов (любимый, вернее вынужденный, прием nesco )
code_26966.txt И даже светодиод моргает |
|||
карма: 25 |
| ||
файлы: 1 | code_26966.txt [1001B] [135] |
23