描述:
vc6 ATL COM Appwizard 创建了一个组件,编译通过,并且注册成功,接口ITest。
客户程序在执行
ITestPtr m_Test;
if(m_Test.CreateInstance(__uuidof(Test)) != S_OK)
{
AfxMessageBox("组件没有找到");
return true;
}
时总是提示"组件没有找到"。
怎么搞的?
解决方案1:
老大,多看看书吧
cout << "Initializing COM" << endl;
if(FAILED(CoInitialize(NULL)))
{
cout << "Unable to initialize COM" << endl;
return -1;
}
ITest* pTest;
HRESULT hr;
hr = CoCreateInstance(CLSID_Test,NULL,CLSCTX_INPROC_SERVER,IID_ITest,(void**)&pTest);
if (FAILED(hr))
{
cout << "Failed to create server instance. HR = " << hr << endl;
CoUninitialize();
return -1;
}
//调用接口函数
CoUninitalize();
解决了就该揭帖了!哈哈!
解决方案3:你加了那个_i.c的头文件没有哦!
解决方案4:错误代码是什么?CoInitilize没有