Здравствуйте, Mamut, Вы писали:
H>>Если объект реализует хоть один COM-интерфейс, он является COM-объектом. Помимо этого, он может реализовывать интерфейсы не являющиеся COM-совместимыми. Само по себе наследование интерфейса от COM-совместимого не делает его COM-совместимым т.к., еще раз говорю, интерфейс нельзя рассматривать по частям, это неделимая единица.
M>Интерфейс IUnknown обяхывает меня реализовать в последубщих наследуемых классах QueryInterface, _AddRef и _Release — да или нет?
Если ты определяешь класс реализующий IUnknown и ни один из его предков не реализует IUnknown, ты будешь обязан эти методы реализовать.
H>>Зачем ты мне эти простыни цитируешь, думаешь я не знаю об этом?
M>То есть я все равно обязан реализовать методы QueryInterface, _AddRef и _Release или отнаследоваться от TInterfacedObject? Вне зависимости от того, отнаслеуюсь я своим классом от IUnknown или от INonCOMInterface? Если да, то я получу COM-Объект, потому что наличие этих методов, емнип, яляется необходимым и достаточным условием для сохдания COM-объекта
Ответ да. Ты получишь COM-объект. Но интерфейс INonCOMObject так и не будет COM-интерфейсом, ведь дергая методы _AddRef, _Release, QueryInterface ты работаешь только с IUnknown.