//以下代码编译通过,再用debug调试过程中hRes提示“没有注册类型”的问题;
//初始化COM并产生智能指针;
HRESULThr=CoInitializeEx(NULL,COINIT_MULTITHREADED);
if(hr!=S_OK)
MessageBox(hWebserHwnd,L"hrfailed",NULL,MB_OK);
else
MessageBox(hWebserHwnd,L"hrok",NULL,MB_OK);
WebSClientLib::ICalculatorPtrpICalc;
//当Debug进行到这一步时,hRes初始化为S_OK;HRESULThRes=(HRESULT)pICalc.CreateInstance(_uuidof(Class1),NULL,CLSCTX_ALL);
//HRESULThRes=pICalc.CreateInstance(SmartDeviceDLL::CLSID_Class1);
//通过上一步的赋值操作后,hRes变为-2147221164{没有注册类别}
if(S_OK==hRes)
{
BSTRbsResult=NULL;//用于函数返回结果;
pICalc->WebServiceFunc(&bsResult);
char*chResult=_com_util::ConvertBSTRToString(bsResult);
TCHARwchResult[20]={0};
swprintf(wchResult,L"%S",chResult);
MessageBox(hWebserHwnd,wchResult,NULL,MB_OK);
//MessageBox(hWebserHwnd,L"hResfailure!",NULL,MB_OK);
}
else
{
MessageBox(hWebserHwnd,L"hResfailure!",NULL,MB_OK);
}
CoUninitialize();
分 -->
|