Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.11.06;
Скачать: CL | DM;

Вниз

Требования для функционирования QueryInterface ???   Найти похожие ветки 

 
GreyWolf ©   (2010-04-13 20:24) [0]

Доброго времени суток.

Я в TypeLibrary редакторе создал свой интерфейс (IInt1) из TypeLib1, отнаследовав его от другого моего же (IInt2) из TypeLib2. Сам IInt2 наследуется от IDispatch.

Я считал, что этого наследования достаточно, чтобы можно было приводить тип IInt1 к IInt2, через опреатор as или QueryInterface. Но при попытке это сделать QueryInterface выдает $80004002 - E_NOINTERFACE - { No such interface supported }, оператор as также на работает. При этом IInt1 приводится к IDispatch или IInt1 (самому себе) без проблем. Пробовал регистрировать обе библиотеки, не помогло.

Что может быть не так?


 
~AQUARIUS~ ©   (2010-04-13 20:49) [1]

Я так понял, у вас примерно такая схема:

type
 I1 = interface (IUnknown)
 *   *   *
 end;

 I2 = interface (I1)
 *   *   *
 end;

 T2 = class (TInterfacedObject, I2)
 *   *   *
 end;

В результате QueryInterface "не видит" I1. Если так, то просто измените обьявление класса:

type
 T2 = class (TInterfacedObject, I2, I1)
 *   *   *
 end;


 
Игорь Шевченко ©   (2010-04-13 20:53) [2]

реализация интерфейсов не наследуется


 
GreyWolf ©   (2010-04-14 19:57) [3]

> ~AQUARIUS~ ©   (13.04.10 20:49) [1]

Было что-то вроде этого, ваша рекомендация помогла.



Страницы: 1 вся ветка

Текущий архив: 2011.11.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
1-1272268693
Дмитрий Белькевич
2010-04-26 11:58
2011.11.06
PolyBezier, проходящий через заданные точки.


15-1310132490
oleg1963lora
2011-07-08 17:41
2011.11.06
Переход с Win на Lin через Kubuntu


2-1310662885
Anthony
2011-07-14 21:01
2011.11.06
Простой RTF редактор для Delphi


2-1310647040
Gu
2011-07-14 16:37
2011.11.06
реестр


1-1271002801
GreyWolf
2010-04-11 20:20
2011.11.06
Установка Parent Interface на мой интерфейс из другой TypeLibrary