Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Call COM Objects in Visual C++ Programs

Note

You must choose a Microsoft® compiler to compile and use any COM object.

Use the COM object you have created as follows:

  1. Create a Visual C++® program in a file named matlab_com_example.cpp with the following code:

    #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;
    }    
  2. In the MATLAB® Command Window, compile the program as follows:

    mbuild matlab_com_example.cpp

When you run the executable, the program displays two numbers and their sum, as returned by the COM object’s adddoubles.

Was this topic helpful?