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

Вниз

Интерфейсы   Найти похожие ветки 

 
REA ©   (2004-04-13 17:14) [0]

Пытаюсь получить интерфейс объекта не зная его GUID.
Нашел вот такой кусок кода:

Result := AModule.Components[I];
Supports(IInterface(Result), IWebVariableName, WebVariableName);

т.е. вроде как можно TComponent преобразовать к IInterface, а у меня выдает несовпадение типов. Или лучше сделать GUID и не мучаться?


 
Гаврила   (2004-04-13 18:03) [1]

лучше сделать гуид и не мучиться.
не бойся, гуидов хватит на всех :-))


 
Jack128 ©   (2004-04-13 18:08) [2]


> Пытаюсь получить интерфейс объекта не зная его GUID

MyObject as IMyInterface  ???


 
Erik ©   (2004-04-13 18:10) [3]

if MyComponent.GetInterface(GUID, MyInterfeic) then
 MyInterfeic.TaLaLa("....");


 
Erik ©   (2004-04-13 18:13) [4]

Уточняю, мемного неточно написал.
GUID - это требуемый интерфейс
MyInterfeic - это интерфейс нашего компонента.
А вобще лучше Help читать.


 
Гаврила   (2004-04-13 18:38) [5]

>>Erik ©   (13.04.04 18:13) [4]
Так гуида то как раз и нет
QueryInterface не пройдет

>>Jack128 ©   (13.04.04 18:08) [2]

без гуида даже не откомпилируется


 
Гаврила   (2004-04-13 18:41) [6]

ТО есть я так понял что гуида вообще нет, то есть интерфейс объявлен без него. Если он есть, но не известен, тогда разумеется [3]. Хотя как он может быть и не быть известен ...


 
Jack128 ©   (2004-04-13 19:05) [7]


> без гуида даже не откомпилируется
да, лоханулся.. Простым приcваиванием можно

MyInterface := MyObject;


 
REA ©   (2004-04-14 09:43) [8]

Да вот как раз и компилируется без ГУИДа.
Я в принципе уже с гуидом сделал, но просто любопытно.
Присваиванием и даже прямым преобразованием как сказано выше выдает несовпадение типов, а вот такое (c ГУИД) вполне проходит:
 If Supports(FControl, IMyControl, MyControl) Then
   MyControl.DoSomething;

>А вобще лучше Help читать.
Да не больно то там много написано - точнее половина примерно из того что можно найти в исходниках.



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
7-1079364823
Pul
2004-03-15 18:33
2004.05.02
Как отследить запуск и завершение работы DOS-приложения


14-1081695483
Ученик
2004-04-11 18:58
2004.05.02
Задача!


7-1078826887
Dimedrol
2004-03-09 13:08
2004.05.02
Как заблокировать клавишу Esc ?


3-1081008085
YurikGl
2004-04-03 20:01
2004.05.02
varchar в IB


6-1078214636
FireMan_Alexey
2004-03-02 11:03
2004.05.02
HTTP + Explorer + Cache