Вверх ↑
Этот топик читают: Гость
Ответов: 263
Рейтинг: 18
#271: 2022-07-18 14:02:14 ЛС | профиль | цитата
Так ругается



Я так понял, что код в hiMTStrTbl не причем. Подменил hiMTStrTbl.pas из обычной сборки HiAsm - мерцание не пропало.

Редактировалось 2 раз(а), последний 2022-07-18 14:18:48
карма: 3

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#272: 2022-07-18 16:31:32 ЛС | профиль | цитата
fox-video писал(а):
Так ругается

Немного не то закоммитил, бывает.
fox-video писал(а):
Подменил hiMTStrTbl.pas из обычной сборки HiAsm - мерцание не пропало

Ну, значит, не в таблице дело. В принципе, я так и думал.
карма: 22

0
Ответов: 263
Рейтинг: 18
#273: 2022-07-18 18:22:46 ЛС | профиль | цитата
nesco писал(а):
Ну, значит, не в таблице дело. В принципе, я так и думал.

Надеюсь получится разобраться в чем дело. Уж больно хороши нововведения, чтобы отказываться от них из-за такой ерунды.
nesco писал(а):
Немного не то закоммитил, бывает.

Так я же как программист полный нуб

Редактировалось 2 раз(а), последний 2022-07-18 18:24:57
карма: 3

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#274: 2022-07-18 18:44:32 ЛС | профиль | цитата
fox-video писал(а):
Надеюсь получится разобраться в чем дело

Пока нашел в каком модуле, теперь ищу где конкретно и на что может повлиять, если найдется.

Редактировалось 1 раз(а), последний 2022-07-18 18:45:04
карма: 22

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#275: 2022-07-18 22:11:26 ЛС | профиль | цитата
Вот же ж Машкин кот, ну кто сказал Кладову, что перерисовку контрола надо делать на каждый чих при входе в область элемента мышой? Теперь мне придется колхозить собственный MouseEnter и MouseLeave для контролов. Даааа... радости полные штаны, и воду отключили, сволочи

Редактировалось 1 раз(а), последний 2022-07-18 22:11:52
карма: 22

0
Ответов: 263
Рейтинг: 18
#276: 2022-07-19 05:27:47 ЛС | профиль | цитата
nesco писал(а):
Вот же ж Машкин кот, ну кто сказал Кладову, что перерисовку контрола надо делать на каждый чих при входе в область элемента мышой?

Так вот почему таблица мигает как елка новогодняя, когда мышкой по границам таблицы водишь!
nesco писал(а):
придется колхозить собственный MouseEnter и MouseLeave для контролов

Может еще и глюк с отрисовкой элементов на форме пропадет? (Обсуждался здесь https://forum.hiasm.com/topic/67375)
карма: 3

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#277: 2022-07-19 11:17:46 ЛС | профиль | цитата
fox-video писал(а):
Может еще и глюк с отрисовкой элементов на форме пропадет?

Эти исправления уже внесены Win. Но подлагивания отрисовки все равно иногда наблюдаются, особенно на XP-стиле. Похоже, что Винда экономит ресурсы и не всегда все перерисовывает, пока ее мордой не ткнешь.
Могу сказать, что я вроде победил сию траблу, создав свои собственные обработчики onMouseEnter, onMouseLeave и onMouseMove, что еще победило и конфликты с другими контролами при попытке перекрыть эти методы.
Возможно, сегодня выложу очередной патч. Тч не все еще потеряно.

P.S. Кстати, таблицу MTStrTbl надо обновить с SVN, я исправил немного метод перерисовки скроллинга, оставив только горизонтальный и только при отпускании клавиши мыши после окончания скроллинга (это по той теме, с лагом по неперерисовке сетки при горизонтальном скроллинге).

Редактировалось 2 раз(а), последний 2022-07-19 11:24:53
карма: 22

0
Ответов: 263
Рейтинг: 18
#278: 2022-07-19 11:29:39 ЛС | профиль | цитата
nesco писал(а):
не все еще потеряно

Ждем новый патч!
карма: 3

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#279: 2022-07-20 01:22:32 ЛС | профиль | цитата
fox-video писал(а):
Ждем новый патч!

Вот, выкладываю, тестируйте
<Патч удален>

Редактировалось 1 раз(а), последний 2022-07-20 14:59:51
карма: 22

0
Ответов: 263
Рейтинг: 18
#280: 2022-07-20 06:04:50 ЛС | профиль | цитата
Мерцание пропало, но появилось странное поведение события onClick которое реагирует на появлении мыша в области таблицы, к тому же выделяет строку на две позиции выше видимого в списке.



Схема


Add(MainForm,502712,189,140)
{
Width=683
Height=350
}
Add(MTStrTbl,8318156,245,140)
{
Left=121
Width=546
Height=311
Align=5
Name="Tabl"
Columns=#5:№ п\п|1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|
link(onClick,6588344:doNext,[])
}
Add(ChildPanel,12487867,343,140)
{
}
BEGIN_SDK
Add(EditMulti,16445913,21,21)
{
WorkCount=1
Width=391
Height=235
link(doWork1,2340537:doText,[(31,27)(31,41)])
}
Add(Panel,8092939,147,35)
{
Width=121
Height=311
Align=1
}
Add(Button,11035052,42,119)
{
Left=20
Top=10
Width=80
Caption="30 строк"
link(onClick,13517961:doFor,[])
}
Add(Button,12204792,42,203)
{
Left=20
Top=40
Width=80
Caption="Очистить"
link(onClick,4406358:doClear,[])
}
Add(For,13517961,105,119)
{
End=30
link(onEvent,13760527:doString,[])
}
Add(MST_RowAction,14020333,336,119)
{
MSTControl="parent.Tabl"
}
Add(MST_Clear,4406358,98,203)
{
MSTControl="parent.Tabl"
}
Add(MT_String,860943,287,119)
{
link(onResult,14020333:doRowAction,[])
}
Add(FormatStr,13760527,168,119)
{
DataCount=10
Mask="%1;%2;%3;%4;%5;%6;%7;%8;%9;%10"
link(onFString,860943:doMT,[(268,125)(268,132)])
link(Str1,14020333:Count,[(174,106)(154,106)(154,163)(342,163)])
link(Str2,6727075:Var1,[(181,103)])
link(Str3,6727075:Var2,[])
link(Str4,8770803:Var2,[])
link(Str5,3231000:Var2,[])
link(Str6,7385015:Var2,[])
link(Str7,6643269:Var2,[])
link(Str8,2317901:Var2,[])
link(Str9,13198027:Var2,[])
link(Str10,9625319:Var2,[])
}
Add(EventFromData,11037860,231,56)
{
link(onEvent,4000312:doRandom,[])
}
Add(Random,4000312,287,56)
{
Min=1000
Max=10000
link(onRandom,11037860:doData,[(331,62)(331,50)(219,50)(219,62)])
}
Add(GetDataEx,6727075,182,98)
{
Angle=1
link(Data,8770803:Var1,[])
}
Add(GetDataEx,8770803,189,98)
{
Angle=1
link(Data,3231000:Var1,[])
}
Add(GetDataEx,3231000,196,98)
{
Angle=1
link(Data,7385015:Var1,[])
}
Add(GetDataEx,7385015,203,98)
{
Angle=1
link(Data,6643269:Var1,[])
}
Add(GetDataEx,6643269,210,98)
{
Angle=1
link(Data,2317901:Var1,[])
}
Add(GetDataEx,2317901,217,98)
{
Angle=1
link(Data,13198027:Var1,[])
}
Add(GetDataEx,13198027,224,98)
{
Angle=1
link(Data,9625319:Var1,[])
}
Add(GetDataEx,9625319,231,98)
{
link(Data,11037860:GetData,[])
}
Add(Label,2833162,98,35)
{
Left=25
Top=75
Width=42
Height=17
Caption="onClick:"
}
Add(Label,2340537,42,35)
{
Left=70
Top=75
Width=10
Height=17
Caption="0"
}
END_SDK
Add(StyleXP,5612224,189,84)
{
}
Add(CounterEx,6588344,294,140)
{
link(onNext,12487867:doWork1,[])
}

P.S. На видео "удачно попал" глюк с пропаданием элементов на форме. Кнопка "очистить" появилась только после проведения мышкой над ней. От этого уже не избавиться в HiAsm?
карма: 3

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#281: 2022-07-20 11:45:29 ЛС | профиль | цитата
fox-video писал(а):
но появилось странное поведение события onClick

Действительно странное. Пока откати на предыдущий патч. Попробую разобраться.
fox-video писал(а):
От этого уже не избавиться в HiAsm?

Как раз я про это и писал раньше, что траблы наблюдаются в XP-стиле на Win10, я пока не знаю как это победить, и можно ли вообще.
карма: 22

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#282: 2022-07-20 15:02:32 ЛС | профиль | цитата
Кажется нашел в чем проблема. Кроме того, добавил поддержку DoubleBuffered в панель, если включить буферизацию панели, то вроде начисто пропадают артефакты с непрерисовкой кнопок.
<Патч удален>

Редактировалось 1 раз(а), последний 2022-07-20 16:38:23
карма: 22

0
Ответов: 263
Рейтинг: 18
#283: 2022-07-20 15:48:49 ЛС | профиль | цитата
Опять засада , ни один проект не компилируется.



Редактировалось 1 раз(а), последний 2022-07-20 15:51:56
карма: 3

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#284: 2022-07-20 16:38:00 ЛС | профиль | цитата
Позор на мою лысину , пропустил добавить файл Share.pas
Перезалил патч.

Редактировалось 1 раз(а), последний 2022-07-20 16:39:19
карма: 22

0
файлы: 1Patch_20-07-2022.zip [198.6KB] [297]
Ответов: 263
Рейтинг: 18
#285: 2022-07-20 16:51:17 ЛС | профиль | цитата
nesco писал(а):
Перезалил патч

Спасибо, первое впечатление положительное . Продолжу тестирование.
карма: 3

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)