Задать вопрос
@Diyar

Как создать OLE объект для интеграции perco S-20 с внешним ПО?

В программном обеспечении, осуществляющем работу с PERCo-S-20, создать
OLE-объект. Для чего необходимо вызвать функцию, аналогичную для создания
COM-объекта:
CreateOleObject('PERCo_S20_SDK_ISFREE.CoPERCo_S20_SDK_WR_64_32')
Кто работал с SDK perco для интеграции с внешним ПО, не могу понять как это сделать и где записать функцию,
  • Вопрос задан
  • 319 просмотров
Подписаться 1 Простой Комментировать
Решение пользователя OCTAGRAM К ответам на вопрос (2)
OCTAGRAM
@OCTAGRAM
Это функция в модуле System.Win.ComObj. Добавляете его в uses и вызываете. Результатом его является объект с интерфейсом IDispatch. Чтобы вызывать у него нетипизированные методы, значение ссылки на IDispatch можно привести к типу OleVariant. У переменной типа OleVariant, если написать точку, Delphi не покажет список подсказок, но вызов скомпилируется. Конечно, если в названии метода опечатка или типы значений не подходящие, то при исполнении будет ошибка.

Чтобы получать подсказки и вообще работать типизированно, нужно генерить модуль импорта COM. В таком модуле Delphi создаст псевдокласс, у которого вместо конструктора Create будет классовая функция Create, и синтаксически похоже: НазваниеCOMКласса.Create. Также можно создавать самостоятельно типизированные ссылки: CreateOleObject(…) as IИмяОсновногоИнтерфейса.
Ответ написан
Комментировать