CAM API
  • CAM API
v20.0.1
Search Results for

    Show / Hide Table of Contents

    Урок 2 — подключение SDK к проекту Delphi через систему сборки

    Цели

    • Создать простое работающее расширение на Delphi;
    • Подключить SDK к проекту Delphi через систему сборки.

    Практическая часть

    Порядок действий:

    • Откройте репозиторий GitVerse и клонируйте его.
    • Найдите каталог ExtensionEmptyDelphi — он послужит основой нового расширения.
    • Обратите внимание на следующие настройки:
      • ExtensionEmptyDelphi/.stbuild/build/stbuild.csproj — версия системы сборки. Для доступа к новым возможностям системы сборки может потребоваться её обновление.
      • ExtensionEmptyDelphi/.stbuild/build/build.cs:
        • Свойства RestorerNugetProps, где указана версия SprutTechnology.CAMAPI.SDK.bpl.x64;
        • Свойства BuilderMsDelphiProps, где указан путь к MSBuild.exe. Используется версия из Microsoft Framework, а не из SDK;
    • При необходимости измените src/Extension.pas. Вы можете использовать API без ограничений; пример упрощён, чтобы показать общий процесс создания расширения. Проверьте следующую настройку:
      • В unit scope names обязательно должен присутствовать элемент IDL;
    • Для выполнения кода проект должен экспортировать функцию CreateInstanceOfExtension. Она принимает значение id из ExtensionEmptyDelphi.settings.json и возвращает ссылку на созданный объект.
    • Соберите проект, чтобы проверить его работоспособность.
    • Создайте файл установки расширения с помощью команды ExtensionEmptyDelphi/commands/pack.cmd;
    • При успешной упаковке появится файл ExtensionEmptyDelphi/project/main/Win64/Release/ExtensionEmptyDelphi.dext. Его можно установить на этом или другом компьютере с соответствующей версией CAM-системы.
    • Дважды щёлкните файл, чтобы установить расширение.
    • Запустите CAM-систему, откройте меню утилит и выберите Empty extension on Delphi. Название пункта должно соответствовать значению caption в JSON.
    • Убедитесь, что открылся Блокнот со сведениями о проекте.
    In this article