C++ class and interface example
ClassLib::IMathLibPtr pCOMPtr;
////ClassLib::IMathLibPtr pCOMPtr;
//// CreateInstance parameters
//// e.g. CreateInstance (<namespace::CLSID_<ClassName>)
HRESULT hRes =
pCOMPtr.CreateInstance(ClassLib::CLSID_MathLib);
if (hRes == S_OK)
{
BSTR str;
pCOMPtr->ShowCOMDialog();
//call .NET COM exported function ShowDialogResult ()
}
ClassLib::IDBConnectionPtr ptr1;
HRESULT hres1 =
ptr1.CreateInstance(ClassLib::CLSID_DBConnection);
ClassLib::_DBConnection **ptr2 = S_OK;
//ptr1 = &ptr2;
if (hres1 == S_OK)
{
BSTR st4;
BSTR *str= S_OK,*str1= S_OK;
ptr1->ConnectionInfo(ptr2);
ptr1->get_Userid(str);
ptr1->get_Pasword(str1);
str = &st4;
SysFreeString(st4);
std::cout << st4 << std::endl;
//call .NET COM exported function ShowDialogResult ()
}
getchar();
//CoUninitialize();
ClassLib::IMathLibPtr pCOMPtr;
////ClassLib::IMathLibPtr pCOMPtr;
//// CreateInstance parameters
//// e.g. CreateInstance (<namespace::CLSID_<ClassName>)
HRESULT hRes =
pCOMPtr.CreateInstance(ClassLib::CLSID_MathLib);
if (hRes == S_OK)
{
BSTR str;
pCOMPtr->ShowCOMDialog();
//call .NET COM exported function ShowDialogResult ()
}
ClassLib::IDBConnectionPtr ptr1;
HRESULT hres1 =
ptr1.CreateInstance(ClassLib::CLSID_DBConnection);
ClassLib::_DBConnection **ptr2 = S_OK;
//ptr1 = &ptr2;
if (hres1 == S_OK)
{
BSTR st4;
BSTR *str= S_OK,*str1= S_OK;
ptr1->ConnectionInfo(ptr2);
ptr1->get_Userid(str);
ptr1->get_Pasword(str1);
str = &st4;
SysFreeString(st4);
std::cout << st4 << std::endl;
//call .NET COM exported function ShowDialogResult ()
}
getchar();
//CoUninitialize();

No comments:
Post a Comment
Note: Only a member of this blog may post a comment.