Вверх ↑
Этот топик читают: Гость
Ответов: 44
Рейтинг: 0
#1: 2010-03-22 22:20:21 ЛС | профиль | цитата
Замеченные ошибки в работе элемента StringTable:

- Событие onClick происходит только при выборе ДРУГОЙ - отличной от текущей - строки таблицы; при повторном щелчке на ранее выбранной строке событие onClick НЕ ПРОИСХОДИТ.
В более ранних версиях HiAsm (v3.62 b157) событие onClick появлялось при ЛЮБОМ ЩЕЛЧКЕ НА ЛЮБОЙ СТРОКЕ, и это соответствовало описанию события в HELP-е:
"Событие происходит всякий раз после выбора строки таблицы и выдает индекс строки в поток".

- В точках: Select, Index - правильные данные появляются не с первого, а ТОЛЬКО СО ВТОРОГО ЩЕЛЧКА на строке таблицы - то есть, при повторном выборе той же строки. При первом выборе строки в этих точках находятся ПРЕДЫДУЩИЕ значения.
Не кажется мне, что такое поведение данных в этих точках нормально - похоже на глюк элемента.

Аналогичным образом ведет себя и элемент StringTableMT.

Появляется ощущение, что либо я чего-то не понимаю, либо оба элемента HiAsm ведут себя НЕКОРРЕКТНО.
Работа в версии HiAsm v4.03 b181. ОС = Windows XP.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1stringtable_error.rar [1.8KB] [174]
Ответов: 2236
Рейтинг: 676
#2: 2010-03-22 22:32:53 ЛС | профиль | цитата
vau_HI, если не ошибаюсь то так ведут себя многие элементы. Недавно была тема в между делом про элемент TreeTrainView. Используй точку onMouseMove code_17462.txt
карма: 11

0
файлы: 1code_17462.txt [1.2KB] [253]
Разработчик
Ответов: 26113
Рейтинг: 2126
#3: 2010-03-22 22:33:00 ЛС | профиль | цитата
vau_HI писал(а):
Событие происходит всякий раз после выбора строки таблицы и выдает индекс строки в поток

Клацанее по той же строке выбором не считается, так работает _OnSelState на котором построен onClick, данный момент исправить не представляется возможным.
vau_HI писал(а):
В точках: Select, Index - правильные данные появляются не с первого, а ТОЛЬКО СО ВТОРОГО ЩЕЛЧКА на строке таблицы - то есть

Исправляется элементарно вставкой таймера и переводом чтения Select и Index в другую очередь событий



Add(MainForm,2953706,133,91)
{
Width=369
Height=199
Position=1
link(onCreate,12037072:doLoad,[(201,111)(201,118)])
}
Add(StringTable,12037072,238,91)
{
Left=10
Top=5
Width=340
Height=130
FileName="Table.txt"
Columns=#8:Имя=70=2|18:Файл изменен=145=2|14:Размер, Б=75=1|
Redaction=1
StaticColumn=0
Point(onMouseDown)
Point(Index)
link(onClick,12092001:doEvent,[(289,97)(289,90)])
link(onMouseDown,7784964:doEvent,[(289,104)(289,125)])
}
Add(DoData,6124942,245,175)
{
link(onEventData,14048804:doEvent,[])
link(Data,12037072:Select,[])
}
Add(DoData,4876392,252,245)
{
link(onEventData,5467890:doEvent,[])
link(Data,12037072:Index,[])
}
Add(Debug,12092001,308,84)
{
WEName="ON-click"
VDName=""
}
Add(Debug,14048804,308,175)
{
WEName="Select"
VDName=""
}
Add(Hub,12188262,203,175)
{
link(onEvent1,6124942:doData,[])
link(onEvent2,4876392:doData,[(235,188)(235,251)])
}
Add(Debug,5467890,308,245)
{
WEName="Index"
VDName=""
}
Add(Debug,7784964,308,119)
{
WEName="BEFORE-click"
VDName=""
link(onEvent,11521696:doTimer,[(335,125)(335,146)(142,146)(142,181)])
}
Add(Timer,11521696,154,175)
{
Interval=25
Enable=1
AutoStop=1
link(onTimer,12188262:doEvent1,[])
}

карма: 22

0
Ответов: 3851
Рейтинг: 159
#4: 2010-03-22 22:44:17 ЛС | профиль | цитата

vau_HI писал(а):
- Событие onClick происходит только при выборе ДРУГОЙ - отличной от текущей - строки таблицы; при повторном щелчке на ранее выбранной строке событие onClick НЕ ПРОИСХОДИТ.
баянъ однако, года 3 примерно ему.
оформи на баг-трекере, кстати..
------------ Дoбавленo в 22.45:
как долго я писал..
карма: 0
начавший
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#5: 2010-03-22 22:55:13 ЛС | профиль | цитата
Andrey писал(а):
оформи на баг-трекере, кстати..

Исправлено, все равно не будет, правка требуется на уровне KOL. Используйте другие методы, если не устраивает этот
sla8a писал(а):
Используй точку onMouseMove

карма: 22

0
Ответов: 3851
Рейтинг: 159
#6: 2010-03-22 22:56:10 ЛС | профиль | цитата
nesco писал(а):
Клацанее по той же строке выбором не считается,

интересное замечание, раньше как-то не задумывался, видимо корректнее было назвать точку onSelect
но теперь уже видимо поздно, или нет?
карма: 0
начавший
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#7: 2010-03-22 22:57:30 ЛС | профиль | цитата
Andrey писал(а):
видимо корректнее было назвать точку onSelect
но теперь уже видимо поздно, или нет?

Поздно -- те, будет наблюдаться полное нарушение совместимости со всеми старыми схемами. Кстати, примененное событие так и называется
nesco писал(а):
_OnSelState

карма: 22

0
Ответов: 3851
Рейтинг: 159
#8: 2010-03-22 23:00:47 ЛС | профиль | цитата
vau_HI, на будущее - можно было снабдить схему вот этим code_17463.txt, вместо ещё одного файла - чтобы не сохранять содержимое архива куда-то, а сразу вставить в среду (мышой), это так - мысли в слух
------------ Дoбавленo в 23.03:
nesco писал(а):
Поздно
ну может в новых пакетах учтётся - опыт всё же..
карма: 0
начавший
0
файлы: 1code_17463.txt [663B] [177]
Ответов: 44
Рейтинг: 0
#9: 2010-03-22 23:24:33 ЛС | профиль | цитата
nesco писал(а):
Клацанее по той же строке выбором не считается

Перепалки я затевать не буду, но чем же считать "Клацанее по той же строке"? И как объяснить это девочкам-пользователям, работающим с программой?
Однако: всем спасибо - какая-то ясность образовалась, и прежде всего - что я имею дело не с глюком HiAsm или Windows, а просто "так работает этот элемент". Неплохо.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#10: 2010-03-22 23:26:38 ЛС | профиль | цитата
vau_HI писал(а):
а просто "так работает этот элемент

Ну, не совсем элемент, а то, на чем он построен. Сэмулировать это дело можно без особых проблем по другой схеме
карма: 22

0
Ответов: 3851
Рейтинг: 159
#11: 2010-03-22 23:37:21 ЛС | профиль | цитата

неплохо бы дополнить wiki на элемент разделом известные недоработки/проблемы и там описать способы их решения (кажется я это уже предлагал) ..
карма: 0
начавший
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#12: 2010-03-22 23:42:04 ЛС | профиль | цитата
Andrey писал(а):
кажется я это уже предлагал

И кто мешает Будет раздел, будут сподвижки, будем дополнять и подправлять
карма: 22

0
Ответов: 3851
Рейтинг: 159
#13: 2010-03-22 23:51:56 ЛС | профиль | цитата
nesco, вот ты здесь красиво так излагал на непонятном для меня языке, ведь если я или vau_HI, просто напишем в wiki, что - вот оно не работает - это будет нехорошо ибо неполно. а вот когда будет написано почему оно так происходит - это ведь совсем другое дело, ибо несёт в себе тенденцию к решению.
карма: 0
начавший
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#14: 2010-03-22 23:54:22 ЛС | профиль | цитата
Andrey писал(а):
вот ты здесь красиво так излагал на непонятном для меня языке

Вот если я так напишу в wiki, то кто тогда это поймет, мне надо тогда подумать, как объяснить проще Еще и над схемой альтернативного примера подумать, что бы понятно было
карма: 22

0
Ответов: 5446
Рейтинг: 323
#15: 2010-03-22 23:54:35 ЛС | профиль | цитата
Andrey, "почему" не даст никакой тенденции к решению. Сказано же: так устроен код, на котором основаны компоненты HiAsm-а. Править его никто не будет.
карма: 1

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