Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить объект по интерфейсу? [D7, WinXP]


Страницы:   1 2

Mx ©   (2005-04-22 17:16:00) 

Привет, Мастера! Согласно "ребрендингу" поменял свой ник, который и мне порядочно надоел, но это к делу не относится...

Вопрос может совсем дикий, но он в названии (ламером прошу не обзывать). Имеем переменную типа IUnknown, можно ли получить ссылку на сам объект? Или эта ссылка и есть то, что мне надо?


DiamondShark   (2005-04-22 17:45:00) [21]

Реализующий интерфейс объект ты сам пишешь, или он уже есть сторонний?


Mx   (2005-04-22 17:36:00) [22]

"Сам объект" - это то бишь тот, кто реализует. В-общем есть два объекта, но один о другом знает только по интерфейсу (а точнее у него список интерфейсов в IInterfaceList), но мне нужно получить в одном местечке указатель на объект, чтобы проверить значение его свойства. Конечно, можно свойство в интерфейсе описать, но так абстракция теряется, чего не хотелось бы... Хранить список объектов мне неудобно.

Так походу нельзя, угу?

type
...
 TImplementer = class(TObject, IInterface)
...

var
 I: IInterface;
begin
 ...
 if TImplementer(I).SomeProp then...
 ...
end;


DiamondShark   (2005-04-22 17:30:00) [23]

В общем виде -- никак.
За интерфейсом может не скрываться вообще никакого "объекта".

Что значит "сам объект"?


Mx   (2005-04-22 17:23:00) [24]

Так эээ вроде QueryInterface возвращает указатель на интерфейс, а мне надо наоборот, типа "QueryObject"...


VMcL   (2005-04-22 17:21:00) [25]

>> Mx   (22.04.05 17:16)

QueryInterface
?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо