Работа с SDK на COM-объектах

Добрый вечер! Я имею дело с ПО кол-центра. У него имеется SDK на COM-объектах. Я хочу научиться с ним взаимодействовать (посылать запросы, получать ответы, обрабатывать события). Имея некоторый опыт работы в Lazarus, сделать это мне не удалось. Прочитал, что PascalABC.Net умеет работать с COM-объектами. Имеется ли в PascalABC.Net необходимый функционал для решения данной задачи?

Чтобы работать с COM объектами достаточно external.

Но что обычно имеют в виду под функционалом для работы с ними - это автоматическое создание обёрток. В готовых обёртках будут уже правильно прописаны все методы и их сигнатуры. Таким образом анализатор кода сразу подсказывает что с чем можно делать, а компилятор не даёт передать неправильный тип данных в вызов.

Для PascalABC.Net, на сколько я знаю, нет готовых COM кодоненераторов.
Но зато есть .Net со своим классом Marshal (System.Runtime.InteropServices.Marshal, если без uses) с методами для работы с неуправляемым кодом.
К примеру, в вашем случае будет релевантен метод Marshal.GetObjectForIUnknown.
Он создаёт объект-обёртку анонимного типа, с нужным вам интерфейсом.
Примеры в документации для C#, но на данный паскаль они переводятся строчка в строчку.