Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Interface ID


Karluha ©   (2005-07-28 11:09:00) 

Есть такой интерфейс
 ITst = interface(IDispatch)
   ['{4A783C3A-69C0-4ED4-AD26-26A9FF434146}']
   procedure Method1;
 end;

И есть:
var
 a: ITst;
Как из переменной a получить {4A783C3A-69C0-4ED4-AD26-26A9FF434146}


Karluha   (2005-07-28 11:45:00) [1]

Нет не знаю. Знал бы, взял бы напрямую, а так это может быть любой наследник


jack128   (2005-07-28 11:32:00) [2]

Karluha   (28.07.05 11:21) [2]
а ты что, не знаешь какого типа у тебя ссылка??


Karluha   (2005-07-28 11:21:00) [3]

Интерфейсы да, а ссылки на интерфейчы нет.
Т.е. в моем примере нельзя написать:
GuidToString(a);
т.к. a не тип а ссылка


jack128   (2005-07-28 11:16:00) [4]

В интерфейсы автоматом приобразуются к guid'ам

Например:
type
 ITest= interface
 ['{65507433-7E91-4BBF-B4AC-61295E61954A}']
 end;

procedure TForm1.Button1Click(Sender: TObject);
var
 guid: TGuid;
begin
 guid := ITest;
 Caption := GuidToString(ITest);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо