| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Как запрограммировать событие в моем классе? |
| Автор: Нитонисе 30.10.2010, 19:06 | ||
Есть такой класс
Нужно сделать так, чтобы класс знал, что у него меняется параметр "Х" и автоматически вызывал метод calculate(). То есть реагировал на событие. Понятно, что этот метод можно прямо прописать в setX, но такой способ мне не подходит не буду объяснять почему, просто надо именно реакция на событие |
| Автор: borisbn 31.10.2010, 10:01 |
в таком случае, скорее всего, тебе и не поможет никто |
| Автор: Нитонисе 31.10.2010, 10:29 |
Наверно непонятно сформулировал |
| Автор: borisbn 31.10.2010, 16:02 |
похоже на то. Если тебе нужно, чтобы класс сам узнал о том, что меняется X ( вызвалась ф-ция setX ), то ничего лучше нет, как вызывать в функции setX ф-цию calculate() Если же тебе нужно, чтобы о событии изменения узнал бы кто-то снаружи класса, то нужно городить события типа __property TNotifyEvent |
| Автор: xvr 1.11.2010, 12:40 | ||||
|
| Автор: Нитонисе 1.11.2010, 13:35 |
Не стречал такого. Где доступно о "__property" этом можно почитать? |
| Автор: xvr 1.11.2010, 14:26 |
| В help'е Builder'а вестимо |
| Автор: Нитонисе 1.11.2010, 15:54 |
Я имел ввиду литературу по С++) проперти - это билдеровская фишка? |
| Автор: xvr 1.11.2010, 16:27 |
| Да, чисто Builder'овская. На С++ можно сделать аналог, через класс с перегруженным оператором приведения типа и присваиванием (по 1 инстансу на каждую проперть). |
| Автор: mrbrooks 1.11.2010, 20:06 | ||
по сути это паттерн Command Добавлено через 57 секунд но есть ли смысл с ним работать в дебилдере - вещь не однозначная. |