exponenta event banner

compiler.build. COMComponentOptions

Параметры построения COM-компонентов

Описание

пример

opts = compiler.build.COMComponentOptions(Files) создает COMComponentOptions с использованием функций MATLAB ®, указанных Files. Используйте COMComponentOptions объект в качестве входных данных для compiler.build.comComponent функция.

пример

opts = compiler.build.COMComponentOptions(Files,Name,Value) создает COMComponentOptions с параметрами, заданными с помощью одного или нескольких аргументов «имя-значение». Параметры включают имя компонента, папку вывода и дополнительные файлы для включения.

пример

opts = compiler.build.COMComponentOptions(ClassMap) создает COMComponentOptions объект с сопоставлением классов, указанным с помощью container.Map объект ClassMap.

пример

opts = compiler.build.COMComponentOptions(ClassMap,Name,Value) создает COMComponentOptions объект с сопоставлением классов, указанным с помощью ClassMap и параметры, указанные с помощью одного или нескольких аргументов «имя-значение».

Примеры

свернуть все

Создать COMComponentOptions объект в системе Windows ® с использованием ввода файла.

Для этого примера используйте файл magicsquare.m расположен в matlabroot\extern\examples\compiler.

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
opts = compiler.build.COMComponentOptions(appFile)
opts =

  COMComponentOptions with properties:

            ClassMap: [1×1 containers.Map]
          ComponentName: 'magicsquare'
       ComponentVersion: '1.0.0.0'
           EmbedArchive: on
        AdditionalFiles: {}
    AutoDetectDataFiles: on
                Verbose: off
              OutputDir: '.\magicsquarecomComponent'

   Class Map Information
       magicsquareClass: {'C:\Program Files\MATLAB\R2021a\extern\examples\compiler\magicsquare.m'}

Можно изменить значения свойств существующего COMComponentOptions с использованием точечной нотации. Например, включить подробный вывод.

opts.Verbose = 'on'
opts =

  COMComponentOptions with properties:

            ClassMap: [1×1 containers.Map]
          ComponentName: 'magicsquare'
       ComponentVersion: '1.0.0.0'
           EmbedArchive: on
        AdditionalFiles: {}
    AutoDetectDataFiles: on
                Verbose: on
              OutputDir: 'D:\Documents\MATLAB\work\COMComponent'

   Class Map Information
       magicsquareClass: {'C:\Program Files\MATLAB\R2021a\extern\examples\compiler\magicsquare.m'}

Используйте COMComponentOptions объект в качестве входных данных для compiler.build.comComponent для построения COM-компонента.

buildResults = compiler.build.comComponent(opts);

Создать COMComponentOptions объект в системе Windows и настройте его с помощью аргументов «имя-значение».

Для этого примера используйте файл magicsquare.m расположен в matlabroot\extern\examples\compiler. Используйте аргументы name-value, чтобы указать выходной каталог и отключить автоматическое обнаружение файлов данных.

opts = compiler.build.COMComponentOptions('magicsquare.m',...
    'OutputDir','D:\Documents\MATLAB\work\MagicCOMComponent',...
    'AutoDetectDataFiles','off')
opts =

  COMComponentOptions with properties:

            ClassMap: [1×1 containers.Map]
          ComponentName: 'magicsquare'
       ComponentVersion: '1.0.0.0'
           EmbedArchive: on
        AdditionalFiles: {}
    AutoDetectDataFiles: off
                Verbose: off
              OutputDir: 'D:\Documents\MATLAB\work\MagicCOMComponent'

   Class Map Information
       magicsquareClass: {'C:\Program Files\MATLAB\R2021a\extern\examples\compiler\magicsquare.m'}

Можно изменить значения свойств существующего COMComponentOptions с использованием точечной нотации. Например, включить подробный вывод.

opts.Verbose = 'on'
opts =

  COMComponentOptions with properties:

            ClassMap: [1×1 containers.Map]
          ComponentName: 'magicsquare'
       ComponentVersion: '1.0.0.0'
           EmbedArchive: on
        AdditionalFiles: {}
    AutoDetectDataFiles: off
                Verbose: on
              OutputDir: 'D:\Documents\MATLAB\work\MagicCOMComponent'

   Class Map Information
       magicsquareClass: {'C:\Program Files\MATLAB\R2021a\extern\examples\compiler\magicsquare.m'}

Используйте COMComponentOptions объект в качестве входных данных для compiler.build.comComponent функция.

buildResults = compiler.build.comComponent(opts);

Создать COMComponentOptions в системе Windows с использованием карты классов.

Создать containers.Map объект, ключи которого являются именами классов, а значения - файлами функций MATLAB.

cmap = containers.Map;
cmap('Class1') = {'exampleFcn1.m','exampleFcn2.m'};
cmap('Class2') = {'exampleFcn3.m','exampleFcn4.m'};

Создать COMComponentOptions объект с использованием карты классов cmap.

opts = compiler.build.COMComponentOptions(cmap)
opts =

  COMComponentOptions with properties:

            ClassMap: [2×1 containers.Map]
          ComponentName: 'exampleFcn1'
       ComponentVersion: '1.0.0.0'
           EmbedArchive: on
        AdditionalFiles: {}
    AutoDetectDataFiles: on
                Verbose: off
              OutputDir: '.\exampleFcn1comComponent'

   Class Map Information
                 Class1: {2×1 cell}
                 Class2: {2×1 cell}

Чтобы настроить COM-компонент, создайте новый COMComponentOptions с помощью аргументов «имя-значение» или изменить существующий объект с помощью точечной нотации. Например, укажите каталог вывода, включите подробный вывод и отключите автоматическое обнаружение файлов данных.

opts = compiler.build.COMComponentOptions(cmap,...
    'OutputDir','D:\Documents\MATLAB\work\MagicCOMComponent',...
    'Verbose','On');
opts.AutoDetectDataFiles = 'off'
opts =

  COMComponentOptions with properties:

            ClassMap: [2×1 containers.Map]
          ComponentName: 'exampleFcn1'
       ComponentVersion: '1.0.0.0'
           EmbedArchive: on
        AdditionalFiles: {}
    AutoDetectDataFiles: off
                Verbose: on
              OutputDir: 'D:\Documents\MATLAB\work\MagicCOMComponent'

   Class Map Information
                 Class1: {2×1 cell}
                 Class2: {2×1 cell}

Используйте COMComponentOptions объект в качестве входных данных для compiler.build.comComponent для построения COM-компонента.

buildResults = compiler.build.comComponent(opts);

Входные аргументы

свернуть все

Файлы, реализующие функции MATLAB, указанные как символьный вектор, строковый скаляр, строковый массив или массив ячеек символьных векторов. Пути к файлам могут быть относительно текущей рабочей папки или абсолютными. Файлы должны иметь .m расширение.

Пример: ["myfunc1.m","myfunc2.m"]

Типы данных: char | string | cell

Карта классов, заданная как containers.Map объект. Ключи сопоставления - это имена классов, а каждое значение - это набор файлов, сопоставленных соответствующему классу. Файлы должны иметь .m расширение.

Пример: cmap

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'EmbedArchive','on'

Дополнительные файлы для включения в COM-компонент, указанные как символьный вектор, строковый скаляр, строковый массив или массив ячеек символьных векторов. Пути к файлам могут быть относительно текущей рабочей папки или абсолютными.

Пример: 'AdditionalFiles',["myvars.mat","data.txt"]

Типы данных: char | string | cell

Флажок для автоматического включения файлов данных, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • Если для этого свойства задано значение 'on', то файлы данных, которые вы предоставляете в качестве входных данных для определенных функций (таких как load и fopen) автоматически включаются в COM-компонент.

  • Если для этого свойства задано значение 'off', то необходимо добавить файлы данных в компонент с помощью AdditionalFiles собственность.

Пример: 'AutoDetectDataFiles','off'

Типы данных: logical

Имя COM-класса, указанное как вектор символов или строковый скаляр. Этот параметр нельзя указать, если используется ClassMap вход. Имена классов должны соответствовать требованиям к именам COM-классов.

Значением по умолчанию является имя первого файла, указанного в Files аргумент, добавленный с Class.

Пример: 'ClassName','magicsquareClass'

Типы данных: char | string

Имя COM-компонента, указанное как вектор символов или строковый скаляр. Значение действует как идентификатор программы, введенный в реестр Windows. Имя по умолчанию созданного компонента является первой записью Files аргумент. Имя должно начинаться с буквы и содержать только буквенные символы и точки.

Пример: 'ComponentName','mycomponent'

Типы данных: char | string

Версия компонента, заданная как вектор символа или скаляр строки. Сведения об управлении версиями с помощью SDK™ компилятора MATLAB см. в разделе Управление версиями.

Пример: 'ComponentVersion','4.0'

Типы данных: char | string

Флаг для встраивания архива сборки, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • Если для этого свойства задано значение 'on', затем функция встраивает архив сборки в COM-компонент.

  • Если для этого свойства задано значение 'off'затем функция создает архив сборки в виде отдельного файла.

Пример: 'EmbedArchive','off'

Типы данных: logical

Путь к выходному каталогу, в котором сохраняются файлы построения, определяемый как вектор символов или строковый скаляр. Путь может быть относительно текущего рабочего каталога или абсолютным.

Именем по умолчанию папки построения является имя компонента, добавляемое с comComponent.

Пример: 'OutputDir','D:\Documents\MATLAB\work\mycomponentcomComponent'

Типы данных: char | string

Флаг для управления подробностью построения, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • Если для этого свойства задано значение 'on'затем в окне команд MATLAB отображается информация о ходе выполнения, указывающая на вывод компилятора в процессе построения.

  • Если для этого свойства задано значение 'off', то командное окно не отображает информацию о ходе выполнения.

Пример: 'Verbose','on'

Типы данных: logical

Выходные аргументы

свернуть все

Параметры построения COM-компонента, возвращенные как COMComponentOptions объект.

Представлен в R2021a