关于使用CreateInstance时,没有注册类型的问题,请高手出手

[复制链接]
查看11 | 回复2 | 2021-1-27 05:48:18 | 显示全部楼层 |阅读模式
//以下代码编译通过,再用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();
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:48:18 | 显示全部楼层
就是没有注册的类别,用的COM组件没有注册,创建对象时候找不到.
回复

使用道具 举报

千问 | 2021-1-27 05:48:18 | 显示全部楼层
请问如何解决啊?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行