Загортаємо c # -клас в com
Загортаємо C # -клас в COM
Нехай у нас є C # -клас, який робить що-небудь корисне, наприклад:
Давайте створимо для цього класу COM-інтерфейс, щоб його функції можна було використовувати в інших місцях. В кінці подивимося на використання цього класу в середовищі Delphi.
Для початку потрібно піти в властивості проекту та на вкладці Build поставити галочку навпроти Register for COM interop:

Далі створюємо інтерфейс для нашого класу:
Клас і інтерфейс потрібно позначити поруч атрибутів: слід вказати для них унікальні GUID -и, вказати ComVisible (true). а для класу також додати атрибут ClassInterface (ClassInterfaceType.None):
Уже майже все готово! Можна збирати готовий варіант нашої збірки. Завдяки галочці Register for COM interop COM-компнентов сам зареєструється в системі, але реєстрацію можна провести і руками. Робиться це за допомогою утиліти RegAsm. яку можна знайти в "C: \ Windows \ Microsoft.NET \ Framework \ v<номер нужной версии>". За допомогою аргументу / tlb можна попутно створити супутній tlb-файл. Скасувати реєстрацію збірки допоможе атрибут / u. Отже, виконаємо команду (будемо вважати, що назва проекту і відповідної dll - ComCalculator):
Дуже добре, тепер наш компонент зареєстрований! Давайте відкриємо Delphi і спробуємо його використовувати. Після створення нового проекту (нехай це буде звичайний WinForms-проект) потрібно імпортувати в нього ComCalculator. Вибираємо з меню Project пункт Import Type Library. У списку знаходимо ComCalculator і тиснемо Install:

У файлі Unit1.pas необхідно додати ComCalculator_TLB в розділ uses. Після цього у вас можуть бути проблеми з компіляцією mscorlib_TBL.pas. Якщо це так, то просто видаліть посилання на нього з розділу uses файлу ComCalculator_TLB.pas.
Тепер спробуємо використовувати наш COM-компонент. Будемо це робити прямо в конструкторі форми. Тіло конструктора буде містити дві нехитрі рядки: в першій ми створимо екземпляр класу TCalculator. а в другій викличемо метод Sum. результат обчислень покажемо за допомогою процедури ShowMessage.
Запустивши додаток, ви зможете побачити з'явилося віконце з цифрою 3 і порадіти.
Для більш складних варіантів створення COM-об'єктів рекомендуються до вивчення наступні статті: