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

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

COM сервер и два интерфейса (можно3 ) [Delphi, Windows]


malkolinge ©   (2004-04-05 17:11:00) 

Когда ком объект реализует ДВА интерфейса, QueryInterface для второго дает Nil.

Почему и как бороться ?


Матлабист   (2004-04-05 17:25:00) [1]

Вот мой код:

type
 I1 = interface
 ['{C86505A6-D299-4386-A90F-60F9A7973CBD}']
    procedureTest1;
  end;

 I2 = interface
 ['{55FA6144-BACE-4E38-98C1-FF17FB6A23F8}']
    procedureTest2;
  end;

 TSomeObj = class(TInterfacedObject, I1, I2)
  public
    procedureTest1;
    procedureTest2;
 end;

procedureTSomeObj.Test1;
begin
 ShowMessage('1');
end;

procedureTSomeObj.Test2;
begin
 ShowMessage('2');
end;

procedureTForm1.Button1Click(Sender: TObject);
var
 X1: I1;
 X2: I2;
begin
 X1 := TSomeObj.Create asI1;
 X1.QueryInterface(I2, X2);
 X2.Test2;
end;


А твой?


Наверх

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