VC使用COM_idl_connect进行IDL混编
C#使用COM_idl_connect比较方便,但是考虑实际工程要求需要采用VC,所以下面采用VC进行COM_idl_connect的调用
起初的想法是利用类向导通过COM_idl_connect.dll构建类CCOM_idl_connect,但是不知道什么原因导致运行没有效果,所以依旧采用COM引用的方法
#include <atlbase.h> #include "CCOM_IDL_connect.h" #import "COM_idl_connect.dll" no_namespace void Ccom_idlDlg::OnBnClickedOk() { CoInitialize(NULL); { CComPtr<ICOM_IDL_connect> spFoo; spFoo.CoCreateInstance(__uuidof(COM_IDL_connect)); CComVariant vtNULL(0); HRESULT hr = spFoo->CreateObject(0,vtNULL,vtNULL); spFoo->ExecuteString(L"tv,dist(200)"); } CoUninitialize(); }
结果为