Вниз
Скачать: 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
4-1101888255
arki
2004-12-01 11:04
2005.01.23
EnableWindow блокировка ввода для окна


1-1105053438
ПростойВопрос
2005-01-07 02:17
2005.01.23
Нужно писать классу конструктор, и деструктор, если они ненужны ?


1-1105531581
TButton
2005-01-12 15:06
2005.01.23
RGB->HSB->RGB


14-1105004976
syte_ser78
2005-01-06 12:49
2005.01.23
try except


1-1105005494
Progh
2005-01-06 12:58
2005.01.23
Работа с TListView




   Наверх