Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 5 раз(а), последний 2021-05-22 06:05:29 |
|||
карма: 0 |
|
Ответов: 838
Рейтинг: 4
|
|||
Ктати, у этого компонента не хватает свойтва 'начальное состояние'.
|
|||
карма: 0 |
|
Ответов: 35
Рейтинг: 0
|
|||
В компоненте CheckBox, если Снимать/Устанавливать флажек через точку doCheck, (с помощью Кнопки и Лин. счетчика), то точка onCheck не работает. Если "вручную" - работает.
|
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Pilot, подтвердите пожалуйста ПРИМЕРОМ
|
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Та же причина, что и в компоненте Switch
|
|||
карма: 27 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 5 раз(а), последний 2021-05-22 06:05:29 |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
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 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Такие проблемы уже давно решаются, и бывают они двух типов:
1) Вызывать ли событие по вызову метода компонента. 2) Вызывать ли автоматически метод при обращении к данным компонента, которые являются результат его работы. Поясню: 1) Например, компонент Текстовое поле. onChange генерируется при изменении в нем текста, причем, введены два метода doText и doText2, один из которых вызывает onChange, а другой нет. 2) Компонент MathParse. При снятии данных с точки Result не вызывается никаких методов, а при снятии с reCalс происходит просчет выражения заново. Именно так и стоит решать некоторые вопросы, однако в ряде случаев, удобнее ввести св-во, определяющее, будет ли вызвано, например, событие onSwitch для метода doReset. |
|||
карма: 27 |
|
8