| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как в Delphi применить технологию |
| Автор: Delphist 9.2.2010, 18:00 | ||
| Вообщем встала задача следующего рода: есть класс - TSomeClass у которого есть событие OnEvent. Стандартные возможности Delphi позволяют сделать так: OnEvent := ProcSome; где ProcSome некоторый метод другого класса, А как сделать так, чтобы OnEvent отлавливали методы нескольких классов. Это легко реализовывается в технологии signal-slot, например, в библиотеке QT. можно, конечно, финтить как-то так:
У этого способа есть основной недостаток, дело в том, что если будет уничтожен класс метод которого помещен в список ListenerEvent, тогда в ListenerEvent окажется мусор, а следить за всем этим вручную не хотелось бы. Использовать Broadcast (через сообщения) тоже нельзя, так этот способ пригоден только для оконных классов. Может быть в Delphi можно как-то реализовать технологию подобной signal-slot |
| Автор: bems 9.2.2010, 21:20 |
| Посмотри модуль, где реализован TApplicationEvents |
| Автор: Delphist 10.2.2010, 12:42 |
Это совсем не то. Зачем мне наследник TComponent'a??? |
| Автор: bems 10.2.2010, 14:44 |
Ну как не то... Все TApplicationEvents знают же когда возникает одно единственное событие в TApplication. А что в нем плохого? |
| Автор: bems 10.2.2010, 18:18 | ||
Ты так и не сказал что плохого в компонентах. Кроме того, насколько я помню уведомлятор TApplicationEvents'ов никак не завяза на компоненты (проверить сейчас не могу).
|
| Автор: former 10.2.2010, 19:44 |
| Delphist, ты уже второй раз эту тему поднимаешь. |
| Автор: Delphist 11.2.2010, 09:01 |
Просьба только не обижаться, на мои изречения. Я и сам большой поклонник Delphi ( |