Главная страница
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.039 c
3-1080887851
Belkova
2004-04-02 10:37
2004.05.02
Новый user


6-1078341231
3APA3A
2004-03-03 22:13
2004.05.02
Передача файла с помощью TTCPServer, TTCPClient...


8-1074041218
Валентин
2004-01-14 03:46
2004.05.02
TAG в mp3


1-1082030140
Layner
2004-04-15 15:55
2004.05.02
Как увеличить размер 2х мерного массива на 1 строку?


8-1075539418
Millennium
2004-01-31 11:56
2004.05.02
скриншот