![]() |
|
|
|
|
#1
|
||||
|
||||
|
Сижу и туплю.
Код:
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.Код:
TSomeClass = class(TInterfacedObject, InterfaceA, InterfaceB)
...
end; |
|
#2
|
|||
|
|||
|
Потому что наследование и имплементация есть разные вещи.
Т.е. наследование интерфейсов идет своим чередом, а вот когда ты создаешь класс имплементатор интерфейса, то берется результат цепочки наследования интерфейсов, а не сама цепочка. |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
dr. F.I.N. (11.02.2018)
| ||
|
#3
|
||||
|
||||
|
Цитата:
|