Показать сообщение отдельно
  #1  
Старый 06.11.2021, 12:33
rmzvoid rmzvoid вне форума
Прохожий
 
Регистрация: 06.11.2021
Сообщения: 2
Версия Delphi: Delphi 10.3
Репутация: 10
Восклицание Вызывается не тот метод COM

У меня есть свой АктивХ компонент написанный на С++ в вижуал студии 2019. Написан давно и постоянно дорабатывается. Использую я его в дельфи в том числе. В основном проблем нем, но бывает порою взбрыкнет дельфя. И как то получалось исправить своими силами. Вот в очередной раз я встретил вилы.

Есть у меня в компоненте интерфейс IDictionaryJO. У него есть метод GetInterface.

Код:
IDictionaryJO = interface(IUnknown)
  ['{some guid here}']
  // ... another methods
  function GetInterface(name: PAnsiChar; out interf: IUnknown): HResult; stdcall;
  // ... another methods
end;

Это из генерёнки, при импорте компонента. Список методов, их порядок и сигнатуры соответствуют тем что реально находятся в компоненте.

Загвоздка в том, что при вызове данного метода вызывается другой метод этого интерфейса, а именно этот:

Код:
function Get(name: PAnsiChar; out param: OleVariant): HResult; stdcall;

Подскажите в чем загвоздка?

Дабы не тратить время лишнее также добавлю что полностью обновлял пэкадж. Удалял старый и через IDE и руками с диска. А потом импортировал заново.
Ответить с цитированием