メインコンテンツ

MATLAB コードを使用した汎用 COM コンポーネントの作成

サポートされるプラットフォーム: Windows®

この例では、MATLAB® 関数を使用して汎用 COM コンポーネントを作成し、アプリケーションに統合する方法を説明します。MATLAB のライセンス コピーがターゲット システムにインストールされている必要はありません。

前提条件

  • Windows 10 SDK キットがインストールされていることを確認します。詳細については、Windows 10 SDK を参照してください。

  • MinGW-w64 がインストールされていることを確認します。MathWorks® File Exchange からインストールするには、MATLAB Support for MinGW-w64 C/C++ Compiler を参照してください。

    MATLAB で Windows 10 SDK キットと MinGW-w64 を確実に検出するには、次のコマンドを使用します。

    mbuild -setup -client mbuild_com

  • Microsoft® Visual Studio® がインストールされていることを確認します。

  • アプリケーションの実行には、エンド ユーザーによる MATLAB Runtime のインストールが必要です。詳細については、MATLAB Runtime のダウンロードとインストールを参照してください。

    テスト目的で、MATLAB Runtime の代わりに MATLAB のインストールを使用することができます。

MATLAB での関数の作成

MATLAB で、パッケージ化する MATLAB コードを調べます。この例では、matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\COM\MagicSquareExample\MagicSquareComp にある makesquare.m を開きます。

function y = makesquare(x)
y = magic(x);

MATLAB コマンド プロンプトで、makesquare(5) と入力します。

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

compiler.build.COMComponent を使用した COM コンポーネントの作成

compiler.build.comComponent 関数を使用して、関数を COM コンポーネントにパッケージ化します。

  1. matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\COM\MagicSquareExample\MagicSquareComp にある makesquare.m ファイルを作業ディレクトリにコピーします。たとえば、Visual Studio Version 15 を使用している場合は、次のように入力します。

    copyfile(fullfile(matlabroot,'toolbox','dotnetbuilder','Examples', ...
        'VS15','COM','MagicSquareExample','MagicSquareComp','makesquare.m'));
    appFile = which('makesquare.m')
  2. 関数 compiler.build.comComponent を使用して COM コンポーネントをビルドします。名前と値の引数を使用してコンポーネント名とクラス名を指定します。

    buildResults = compiler.build.comComponent(appFile, ...
    'ComponentName','MagicSquareComp', ...
    'ClassName','Class1');

    compiler.build コマンドで名前と値の引数を使用して、追加オプションを指定できます。詳細については、compiler.build.comComponent を参照してください。

    compiler.build.Results オブジェクト buildResults には、ビルド タイプ、生成ファイル、含まれるサポート パッケージ、およびビルド オプションに関する情報が含まれています。

    ビルド関数により、現在の作業ディレクトリの MagicSquareCompcomComponent という名前のフォルダー内にファイルが生成されます。生成されるファイルの詳細については、MATLAB 関数のパッケージ化後に生成されるファイルを参照してください。

    メモ

    生成されたコンポーネントには MATLAB Runtime またはインストーラーが含まれていません。buildResults オブジェクトを使用してインストーラーを作成するには、compiler.package.installer を参照してください。

COM アプリケーションへの統合

COM コンポーネントをアプリケーションに統合するには、Creating the Microsoft Visual Basic Projectを参照してください。

参考

|

トピック