![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Доброго времени суток.
Имеется следующая задача. Есть
Пример:
З.Ы. Delphi XE2, поэтому использование нововведений очень приветствуется. Это сообщение отредактировал(а) Keeper89 - 27.1.2012, 13:30 |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Класс может реализовывать много интерфейсов, так что ни про какой встроенный механизм получения интерфейса речь не идет.
можно переделать список в список интерфейсов (объявить элемент как базовый для всех трёх интерфейсов, например IInterface) и искать в менеджере информацию для каждого элемента. Добавлено через 6 минут и 49 секунд Не лучше ли будет возложить получение данных на метод класса? -------------------- Обижено школьников: 8 |
|||
|
||||
| Keeper89 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
bems, грубо говоря хочется сделать что-то такое:
Причем K - список этих интерфейсов (List<IABC>), а M (TDictionary<TGUID, IABC>) - таблица. Т.е. нужно найти kk в M.Keys, и работать дальше с M.Values. Добавлено @ 14:38
Базовый интерфейс есть. Добавлено @ 14:38 Это как? Это сообщение отредактировал(а) Keeper89 - 27.1.2012, 15:57 |
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
хм, как-то или все очевидно или я не понял задачи... по TA получаем IA, по IA получаем данные из М. Если М недоступен изначально, то добавляем ссылку на M в IA. -------------------- There are always someone smarter than you... |
|||
|
||||
| Keeper89 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
MetalFan, если бы очевидно, я бы не спрашивал
В коде выше через Supports я могу получить поддерживаемый интерфейс (из Dictionary), но вот как его привести к нему после проверки - понять не могу. Ведь Intf объявляется как базовый интерфейс, а не конкретный найденный. Можно даже переделать как-то так:
Может это все не стоит делать и ограничиться большим куском типа:
Он мне, ес-но не нравится, поэтому и завел речь о том, что идет выше. Это сообщение отредактировал(а) Keeper89 - 27.1.2012, 17:10 |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |