Visual C++ プログラムでの COM オブジェクトの呼び出し
メモ
COM オブジェクトをコンパイルおよび使用するには、Microsoft® コンパイラを選択する必要があります。
作成した COM オブジェクトを以下のように使用します。
以下のコードを使用して、
matlab_com_example.cpp
という名前のファイルで Visual C++® プログラムを作成します。#include <iostream> using namespace std; #include "mycomponent\src\mycomponent_idl.h" #include "mycomponent\src\mycomponent_idl_i.c" int main() { // Initialize argument variables VARIANT x, y, out1; //Initialize the COM library HRESULT hr = CoInitialize(NULL); //Create an instance of the COM object you created Imycomponentclass *pImycomponentclass; hr=CoCreateInstance (CLSID_mycomponentclass, NULL, CLSCTX_INPROC_SERVER, IID_Imycomponentclass,(void **)&pImycomponentclass); // Set the input arguments to the COM method x.vt=VT_R8; y.vt=VT_R8; x.dblVal=7.3; y.dblVal=1946.0; // Access the method with arguments and receive the output out1 hr=(pImycomponentclass -> adddoubles(1,&out1,x,y)); // Print the output cout << "The input values were " << x.dblVal << " and " << y.dblVal << ".\n"; cout << "The output of feeding the inputs into the adddoubles method is " << out1.dblVal << ".\n"; // Uninitialize COM CoUninitialize(); return 0; }
MATLAB® コマンド ウィンドウで、以下のようにプログラムをコンパイルします。
mbuild matlab_com_example.cpp
実行可能ファイルを実行すると、このプログラムでは 2 つの数値とその和が表示されます。これは、COM オブジェクトの adddoubles
として返されます。