Разработка "Event Aggregator" в Delphi 2010 и XE: Реализация и Готовые РешенияDelphi , Программа и Интерфейс , ИнтерфейсВопрос, стоящий перед разработчиками, заключается в том, как определить, поддерживает ли объект интерфейс Контекст проблемыКласс Решение проблемыДля решения проблемы необходимо использовать функцию
Затем, при публикации сообщения, необходимо использовать
Также, для хранения подписчиков рекомендуется использовать список интерфейсов, а не объектов, что позволит избежать проблем с неявным преобразованием типов.
И наконец, подписи и отписки от событий должны быть изменены для работы с интерфейсами.
Альтернативный подходВ качестве альтернативы, можно отказаться от использования интерфейсов и воспользоваться функциональностью
При публикации сообщения, каждое зарегистрированное событие будет обработано с помощью
Обработчики событий должны быть определены в классах подписчиков, например:
Подтвержденный ответВ контексте обсуждения был представлен рабочий прототип "Event Aggregator" для Delphi. Код прототипа включает в себя классы ЗаключениеВ статье были рассмотрены основные подходы к реализации "Event Aggregator" в Delphi 2010 и XE, а также представлены решения, которые могут быть использованы в качестве базовой реализации или отправной точки для создания более сложных механизмов расширяемых событий. Контекст описания заключается в разработке 'Event Aggregator' для Delphi 2010 и XE, с фокусом на реализацию и поиск решений для определения поддержки интерфейса `IHandle Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |