Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26113
Рейтинг: 2126
#16: 2010-03-22 23:59:06 ЛС | профиль | цитата
iarspider, мне кажется, что под
Andrey писал(а):
несёт в себе тенденцию к решению

Andrey понимает применение альтернативного решения (ага, и пишит гораздо заумнее меня)
карма: 22

0
Ответов: 4641
Рейтинг: 334
#17: 2010-03-23 00:00:22 ЛС | профиль | цитата
nesco писал(а):
что бы понятно было

все правильно! и эту схему можно вставить в примеры wiki по StringTable или в замечании приписать и показать схему.

так что
Andrey писал(а):
разделом известные недоработки/проблемы
думаю ненадо....
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 5446
Рейтинг: 323
#18: 2010-03-23 00:00:24 ЛС | профиль | цитата
nesco, хрновый значит из меня телепат
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#19: 2010-03-23 00:18:21 ЛС | профиль | цитата
vau_HI писал(а):
В более ранних версиях HiAsm (v3.62 b157) событие onClick появлялось при ЛЮБОМ ЩЕЛЧКЕ НА ЛЮБОЙ СТРОКЕ, и это соответствовало описанию события в HELP-е:
"Событие происходит всякий раз после выбора строки таблицы и выдает индекс строки в поток".

nesco писал(а):
Исправлено, все равно не будет, правка требуется на уровне KOL
и как раньше работал именно onClick ? Вроде KOL тот-же. Значит виноват не KOL..., а применивший _OnSelState.
nesco писал(а):
Кстати, примененное событие так и называется _OnSelState
именно не onClick
nesco писал(а):
Клацанее по той же строке выбором не считается
Правильно выбором не считается, а считается кликом на строке.
А совет по применению таймера здорово смахивает на затычку.
Andrey писал(а):
видимо корректнее было назвать точку onSelect
Andrey, не переименовывать , а вернуть старый onClick и ... если очень хочется, то добавить новую точку onSelect.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#20: 2010-03-23 00:24:19 ЛС | профиль | цитата
Tad писал(а):
А совет по применению таймера здорово смахивает на затычку

События onMouse работают в основной очереди и все команды контролу применены будут только по окончанию этой самой очереди. Но не реализовано на уровне KOL-a отработка отложенных событий. А таймер, в данном случае, и есть затычка, исполняющая роль отложенного события
Tad писал(а):
и как раньше работал именно onClick ?

Его закрыли, кто, спроси Автора этого закрытия, значит, на то были какие-то причины. Я не собираюсь ничего в этой области переделывать. Пусть Автор и переделывает, если посчитает нужным, я не вижу в этом никакой надобности
Tad писал(а):
Значит виноват не KOL..., а применивший _OnSelState

Я так и сказал

------------ Дoбавленo в 00.47:
А теперь смотрим KOL и делаем выводы

KOL писал(а):
property OnClick: TOnEvent read fOnClick write fOnClick;
{* |<#button>
|<#checkbox>
|<#radiobox>
|<#toolbar>
Called on click at control. For buttons, checkboxes and radioboxes
is called regadless if control clicked by mouse or keyboard. For toolbar,
the same event is used for all toolbar buttons and toolbar itself.
To determine which toolbar button is clicked, check CurIndex property.
And note, that all the buttons including separator buttons are enumerated
starting from 0. Though images are stored (and prepared) only for
non-separator buttons. And to determine, if toolbar button was clicked
with right mouse button, check RightClick property. }

Класса Listview в нем нет. Для него есть
KOL писал(а):
property OnLVStateChange: TOnLVStateChange read FOnLVStateChange write SetOnLVStateChange;
{* |<#listview>
This event occure when an item or items range in list view control are
changing its state (e.g. selected or unselected). }


и на этом закончим прения по данном вопросу
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#21: 2010-03-23 01:01:30 ЛС | профиль | цитата
nesco, а кто Автор этого закрытия ?
Вот так принято в KOl писал(а):
OLD_ALIGN - to prevent using new Align by Galkov.
**********************************************
NEW_TRANSPARENT - created by Alexander Karpinsky a.k.a. homm (faster)
***********************************************
// This version of code by Galkov:
************************************************
if not FControl.fDestroying then //!!!fix by Galkov
************************************************
if (Child <> nil)
and (Child <> Self_) //+ by Galkov, Jun-2009


Add(MainForm,2953706,140,28)
{
Height=266
}
Add(ListBox,15186276,196,28)
{
Left=20
Top=30
Width=95
Strings=#6:Первая|6:Вторая|6:Третья|
DataType=1
link(onClick,967198:doAdd,[])
}
Add(ListBox,967198,266,35)
{
Left=155
Top=30
Width=225
}
ListBox тоже в списке нет, а работает - кликай по одной строке сколько хочешь.
И по хорошему _OnSelState должно происходить после onClick.
nesco писал(а):
и на этом закончим прения по данном вопросу

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#22: 2010-03-23 01:13:03 ЛС | профиль | цитата
И к чему это
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#23: 2010-03-23 01:17:55 ЛС | профиль | цитата
Это - что ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#24: 2010-03-23 01:23:21 ЛС | профиль | цитата
Tad писал(а):
Это - что ?

Исправления Galkov-a
------------ Дoбавленo в 01.25:
Tad писал(а):
И по хорошему _OnSelState должно происходить после onClick.

И давай оставим это на усмотрение Автора.

А ты не задавался вопросом, что onClick, это обычный onMouseDown, только вместо кода клавиши выдает строку таблицы
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#25: 2010-03-23 01:30:03 ЛС | профиль | цитата
nesco писал(а):
Исправления Galkov-a
я не про исправления Galkov-а.
Я про примечания из которых видно кто внёс изменение.
Просто, зная что там участвует Galkov, мне легче было искать эти примечания.
------------ Дoбавленo в 01.33:
nesco писал(а):
А ты не задавался вопросом, что onClick, это обычный onMouseDown, только вместо кода клавиши выдает строку таблицы
мне нужна строка или индекс строки по которой я кликнул, а не танцы с бубном вокруг кода клавиши мыши.
nesco писал(а):
и на этом закончим прения по данном вопросу

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 44
Рейтинг: 0
#26: 2010-03-23 22:40:35 ЛС | профиль | цитата
Интересное получилось обсуждение, мне очень понравилось. Понравилось то, что очевидный "непорядок" в поведении одного из самых ходовых и популярных элементов среды - StringTable (со всеми его разновидностями) - многим как знаком, так и активно их не устраивает.
Я очень благодарен sla8a и nesco за подсказки по простым решениям моей проблемы.
Но еще больше я благодарен всем, кто заявил, что подобные "проколы" в поведении элементов совсем не украшают среду проектирования HiAsm - хотя и устраняются несложными "затычками" (классный термин и прямо в масть!).

Хочу также обратить внимание вот на какой аспект. Я знаком с HiAsm не первый год и периодически работаю с этим замечательным инструментом. Образование и многодесятилетняя практика общения как с аналоговыми, так и с цифровыми электронными схемами обеспечили мне весьма комфортную адаптацию к терминам и понятиям этой программы.

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

М-да, ребята, грустно становится. Вы же практически все - ВЕТЕРАНЫ этого форума и ГУРУ этой программы. Вы отлично ориентируетесь во всех аспектах работы с HiAsm, включая те самые ЗАТЫЧКИ - о знании которых Вы объявляете и в ассортименте предлагаете здесь на форуме (еще раз большое спасибо - всё работает!). Все Ваши ники и аватарки мне знакомы не первый год, и мне, конечно же, льстит внимание столь квалифицированных специалистов.
Так вот: я убил на глюк с StringTable около трех часов (включая проверку в прежних версиях) - сколько же потратит НА ЭТОТ ЖЕ ГЛЮК КАЖДЫЙ ИЗ ПОЛЬЗОВАТЕЛЕЙ программы HiAsm - при условии, что они не знакомы с ассортиментом "затычек", предлагаемых на форуме?

Может, "в консерватории" что-нибудь подправить: присовокупить "затычки" к дистрибутиву, что ли? Либо напоминалки-извещалки про эти "затычки" прямо к элементам приклеивать (с адресами "затычек" на сайте)? Я думаю, что даже подобные "начальные" и "примитивные" способы выхода из сегодняшней ситуации способны спасти кучу времени и нервов пользователям этой славной программы.

Может быть, признаваться в дистрибутиве о наличии ИЗВЕСТНЫХ И НЕРЕШЕННЫХ проблем не совсем обычно и привычно, но при этом - честно и абсолютно в интересах заботы как о пользователе, так и об эффективности работы с программой. И уверяю вас: соображения эти отнюдь не малозначимы для КОНЕЧНОГО ПОЛЬЗОВАТЕЛЯ!

Не раз здесь прозвучало: "никто ничего исправлять не будет...". Простой вопрос: а для кого создана и уже много лет совершенствуется и развивается среда проектирования HiAsm? Я всегда считал, что главный её адресат, а также ключ к её успеху - именно конечный пользователь. И сейчас - НАДЕЮСЬ, ОЧЕНЬ НАДЕЮСЬ - что все авторы и "главные специалисты" этой программы смогут найти решение, достойное их опыта и традиций HiAsm.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#27: 2010-03-23 22:59:03 ЛС | профиль | цитата
vau_HI писал(а):
Признаюсь: меня просто ошарашила та скорость, с которой была предложена помощь на форуме!

На базе этого несчастного StringTabl-a, в последствии, были созданы такие монстры, как StringTableMT и MTStrTbl. И потому я этот класс излазил вдоль и поперек, и знаю большинство ее глюков. А все начиналось с малого -- мне катастрофично понадобился цвет и иконки в этой таблице. Увы, как это сделать мне никто не подсказал, все пришлось делать самому, перелопачиваю кучу литературы и форумов. И вот поэтому я, практически всегда, отвечаю на все вопросы, связанные с этой таблицей и ее следующими поколениями, мне не хочется, чтобы народ тратил попусту кучу времени на поиск решения по борьбе с глюками. К сожалению я не потому не могу исправить ошибку, что не знаю как, а потому, что одним их основных аспектов нашей разработки, является обеспечение совместимости. Да, это не совсем корректно, но это так. И вот почему "никто ничего исправлять не будет...". Я сделаю хорошо одному, а другой убъет, затем, на поиск несоответствия имени точки пол дня, роясь в куче мультиков и связей, представь каково ему будет, и будешь виноват уже не ты, а я.
У нас уже два года лежит переделанный KOL, но он не попадает в новые пакеты, а почему, а потому, что он не правился самим автором KOL-a (Кладовым) и нарушает дальнейшую совместимость. Возможно, я в чем-то и не прав, но я озвучиваю позицию Автора HiAsm-a и не могу делать ничего поперек его решения и не советуясюь с ним

карма: 22

0
Ответов: 2236
Рейтинг: 676
#28: 2010-03-23 23:13:43 ЛС | профиль | цитата
nesco писал(а):
а другой убъет, затем, на поиск несоответствия имени точки пол дня, роясь в куче мультиков и связей

А сложно будет сделать перед открытием файла поиск всех элементов и пересоединения измененной точки на новую и вывести соответсвующее сообщение.
карма: 11

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

по хорошему надо бы обьединить Баг трекер и хелп на элементы (wiki по элементам бы ещё вызывались по F1...) - починил баг и сразу исправил хелп на точку, в котором было написано "событие происходит ... , внимание - замечена нерешённая проблема (см.справку F1)" или что-то вроде этого..
карма: 0
начавший
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#30: 2010-03-23 23:20:30 ЛС | профиль | цитата
Andrey писал(а):
wiki по элементам бы ещё вызывались по F1...

А он и вызывается, только общий, а там спокойно можно найти нужный элемент. Не совсем удобно, но можно
карма: 22

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