Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2011.11.06;
Скачать: [xml.tar.bz2];

Вниз

Требования для функционирования 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.002 c
15-1310284397
@!!ex
2011-07-10 11:53
2011.11.06
Как делать небольшие смс рассылки?


15-1310278541
antonn (work)
2011-07-10 10:15
2011.11.06
fastmm4 и работа без ide


3-1265443339
lock95
2010-02-06 11:02
2011.11.06
SQL запрос ADODataSet.CommandText


1-1271933869
Handbrake
2010-04-22 14:57
2011.11.06
Вопрос по взаимодействию компонентов.


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский