Главная страница
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.024 c
14-1081329838
BeginEnd
2004-04-07 13:23
2004.05.02
Тема эта, конечно же, звучала...


14-1081381010
_none_
2004-04-08 03:36
2004.05.02
во сколько бы вы оценили...


14-1081397236
Homer
2004-04-08 08:07
2004.05.02
Оплата программы


1-1081930063
LDGuest
2004-04-14 12:07
2004.05.02
Импортированыые функции EXE фаила ( PE формат)


14-1081353939
DDA
2004-04-07 20:05
2004.05.02
Прикол2