关于网友提出的“ CoUninitialize执行完,函数返回时出错,请帮助!”问题疑问,本网通过在网上对“ CoUninitialize执行完,函数返回时出错,请帮助!”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: CoUninitialize执行完,函数返回时出错,请帮助!描述:
void CHotelManagementDlg::OnBnClickedRoompricemanagement()
{
// TODO: 在此添加控件通知处理程序代码
CoInitialize(NULL);
IRoompricePtr roomprice(__uuidof(Roomprice));
roomprice->Pricemanagement();
roomprice->Release();
CoUninitialize();
}
函数返回时出错,不知为什么,请高手帮助!
解决方案1:
你一定要这样的话可以CoUninitialize(); 后面加个sleep();试试
我不认为你这样做会有多少性能上的提高! 解决方案2:
CoInitialize(NULL);放在整个程序初始化的时候
CoUninitialize(); 放在整个程序结束时
是不是你在执行CoInitialize(NULL); 时没有成功呀,应该做一下判断。
if (::CoInitialize( NULL ) == E_INVALIDARG)
{
AfxMessageBox("Failed!");
return;
}
再一个如果你是在一个非线程是调用的COM对象的话,不用调用CoInitialize(NULL); 来初始化COM库,CoInitialize(NULL); 主要是在多线程程序中考虑到线程的并发性而调用的,所以在你这里不需要调用。只要在程序初始化时调用AfxOleInit();即可。