Вниз
Скачать: CL | DM;

COM сервер и два интерфейса (можно3 )   Найти похожие ветки 

 
malkolinge ©   (2004-04-05 17:11) [0]

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

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


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

Вот мой код:

type
 I1 = interface
 ["{C86505A6-D299-4386-A90F-60F9A7973CBD}"]
   procedure Test1;
 end;

 I2 = interface
 ["{55FA6144-BACE-4E38-98C1-FF17FB6A23F8}"]
   procedure Test2;
 end;

 TSomeObj = class(TInterfacedObject, I1, I2)
 public
   procedure Test1;
   procedure Test2;
 end;

procedure TSomeObj.Test1;
begin
 ShowMessage("1");
end;

procedure TSomeObj.Test2;
begin
 ShowMessage("2");
end;

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


А твой?



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
1-1105049911
pika
2005-01-07 01:18
2005.01.23
Кнопочки


9-1097483896
utyf
2004-10-11 12:38
2005.01.23
как исправить directdraw.pas для delphi7 или где взять работающи?


14-1105069432
Думкин
2005-01-07 06:43
2005.01.23
С днем рождения! 7 января


1-1104938461
WhiteGuy
2005-01-05 18:21
2005.01.23
Идентично, сэр?


14-1104765928
Piter
2005-01-03 18:25
2005.01.23
Быстрый способ вырезать строку




   Наверх