Сижу и туплю.
Код:
type
InterfaceA = interface(IUnknown)
[some GUID 1]
....
end;
InterfaceB = interface(InterfaceA)
[some GUID 2]
....
end;
TSomeClass = class(TInterfacedObject, InterfaceB)
...
end;
SomeObject: TSomeClass;
Supports(SomeObject, InterfaceB) = True, Supports(SomeObject, InterfaceA) = False.
Как я понимаю InterfaceB тянет за собой все методы InterfaceA, но почему Supports(..., InterfaceA) = False? Есть ли способ узнать, что объект уже реализовывает методы InterfaceA? Или обязательно делать так:
Код:
TSomeClass = class(TInterfacedObject, InterfaceA, InterfaceB)
...
end;
Может есть аналогия с TObject.InheristFrom(ObjectClass)?