Тема: Метод Highlight при позднем и раннем связывании

Странное дело - метод Highlight отказывается работать при подключении по методу позднего связывания, грит:
"Method 'Highlight' not supported by automation object."
вот мой код (с поздним связыванием)

var
  inAcObjID: integer;
  vaBlock: OleVariant;
begin
  vaBlock := vaDoc.ObjectIdToObject(inAcObjID);
  ShowMessageFmt('%d: %s, %s', [inAcObjID, vaBlock.Name, vaBlock.ObjectName]);
  vaBlock.Highlight(true);
end;

ShowMessage выдает текст вида "2130370680: Вложеный круг, AcDbBlockTableRecord"
Вот работающий код при подключении с ранним связыванием (c использованием AutoCAD_TLB)

var
  BLR: IAcadBlockReference;
  ObjectId: integer;
begin
  BLR := AcadDoc.ObjectIdToObject(ObjectId) as IAcadBlockReference;
  BLR.Highlight(true);
end;

Идентификаторы объектов в обоих случаях указывают на блоки, ранее полученые через vaDoc.Blocks.Item(i) в первом примере и через AcadDoc.PaperSpace.Item(i) во втором.
Подскажите в чем может быть дело и куда надо "рыть".
На раннее связывание перелазить не хочется.

Re: Метод Highlight при позднем и раннем связывании

метод ObjectIdToObject возвращает объект как AcadObject, который нужно приводить к нужному типу или переменная должна быть нужного типа... тут уж ничего не попишешь  :)

Re: Метод Highlight при позднем и раннем связывании

2 callisto:
Я вроде бы разобрался в ситуации - целевой объект является блоком (Block) и в тоже время внешней ссылкой (ExternalReference). Я имею ObjectID блока и полученый объект является именно блоком, методы и свойства класса Block работают, но методы и свойства класса ExternalReference не доступны, класс ExternalReference имеет метод 'HighLight', Block - нет.
Проблема сводится к тому как имея объект типа Block получить сопоставленый ему ExternalReference?