Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2005-02-21 00:28:16 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2021-05-22 06:05:29
карма: 0

0
Ответов: 838
Рейтинг: 4
#2: 2005-02-21 06:09:50 ЛС | профиль | цитата
Ктати, у этого компонента не хватает свойтва 'начальное состояние'.
карма: 0
Coder
0
Ответов: 35
Рейтинг: 0
#3: 2005-03-05 23:12:30 ЛС | профиль | цитата
В компоненте CheckBox, если Снимать/Устанавливать флажек через точку doCheck, (с помощью Кнопки и Лин. счетчика), то точка onCheck не работает. Если "вручную" - работает.
карма: 0

0
Ответов: 9906
Рейтинг: 351
#4: 2005-03-06 00:05:54 ЛС | профиль | цитата
Pilot, подтвердите пожалуйста ПРИМЕРОМ
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#5: 2005-03-06 15:48:22 ЛС | профиль | цитата
Та же причина, что и в компоненте Switch
карма: 27
0
Гость
Ответов: 17029
Рейтинг: 0
#6: 2005-03-07 02:55:15 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2021-05-22 06:05:29
карма: 0

0
Ответов: 9906
Рейтинг: 351
#7: 2005-03-07 04:01:55 ЛС | профиль | цитата
Pilot, Действительно, не сразу понял вопрос.
Элемент можно сделать по-разному: так как есть, и с непременной генерацией onCheck. В этом нет никаких проблем. Вот только в сегодняшнем состоянии Ваша проблема решается ценой одного элемента (HubEx не создает кодов):
[code:1]Add(Hub,14433891,231,77) {
link(onEvent1,9657295:doWork1,[(333,83)])
link(onEvent2,8108536:doCheck,[])
}
Add(CheckBox,8108536,280,84)
{
Left=35
Top=210
Width=75
Color=12632256
Font=[MS Sans Serif,8,0,0]
Checked=0
link(onCheck,9657295:doWork2,[])
}
Add(HubEx,9657295,329,77)
{
}[/code:1]
А если эту логику прошить внутрь элемента, то различить причину изменения состояния (теоретически) будет уже невозможно.
А если кому-то захочется :?:
Но это уже решать автору элемента, наверное. Мы же, пользователи, высказывам свои соображения и аргументы :)
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#8: 2005-03-07 14:27:40 ЛС | профиль | цитата
Такие проблемы уже давно решаются, и бывают они двух типов:
1) Вызывать ли событие по вызову метода компонента.
2) Вызывать ли автоматически метод при обращении к данным компонента, которые являются результат его работы.
Поясню:
1) Например, компонент Текстовое поле. onChange генерируется при изменении в нем текста, причем, введены два метода doText и doText2, один из которых вызывает onChange, а другой нет.
2) Компонент MathParse. При снятии данных с точки Result не вызывается никаких методов, а при снятии с reCalс происходит просчет выражения заново.

Именно так и стоит решать некоторые вопросы, однако в ряде случаев, удобнее ввести св-во, определяющее, будет ли вызвано, например, событие onSwitch для метода doReset.
карма: 27
0
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)